1bf215546Sopenharmony_ci<?xml version="1.0" ?>
2bf215546Sopenharmony_ci
3bf215546Sopenharmony_ci<!--
4bf215546Sopenharmony_ciCopyright © 2022 Imagination Technologies Ltd.
5bf215546Sopenharmony_ci
6bf215546Sopenharmony_ciPermission is hereby granted, free of charge, to any person obtaining a copy
7bf215546Sopenharmony_ciof this software and associated documentation files (the "Software"), to deal
8bf215546Sopenharmony_ciin the Software without restriction, including without limitation the rights
9bf215546Sopenharmony_cito use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10bf215546Sopenharmony_cicopies of the Software, and to permit persons to whom the Software is
11bf215546Sopenharmony_cifurnished to do so, subject to the following conditions:
12bf215546Sopenharmony_ci
13bf215546Sopenharmony_ciThe above copyright notice and this permission notice (including the next
14bf215546Sopenharmony_ciparagraph) shall be included in all copies or substantial portions of the
15bf215546Sopenharmony_ciSoftware.
16bf215546Sopenharmony_ci
17bf215546Sopenharmony_ciTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18bf215546Sopenharmony_ciIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19bf215546Sopenharmony_ciFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20bf215546Sopenharmony_ciAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21bf215546Sopenharmony_ciLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22bf215546Sopenharmony_ciOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23bf215546Sopenharmony_ciSOFTWARE.
24bf215546Sopenharmony_ci-->
25bf215546Sopenharmony_ci
26bf215546Sopenharmony_ci<csbgen name="ROGUE" prefix="CR">
27bf215546Sopenharmony_ci
28bf215546Sopenharmony_ci	<define name="PM_VHEAP_TABLE_SIZE" value="0x180" />
29bf215546Sopenharmony_ci
30bf215546Sopenharmony_ci	<enum name="COMP_IADDR_TYPE">
31bf215546Sopenharmony_ci		<value name="INDIRECT_1TILE" value="0"/>
32bf215546Sopenharmony_ci		<value name="INDIRECT_4TILE" value="1"/>
33bf215546Sopenharmony_ci	</enum>
34bf215546Sopenharmony_ci
35bf215546Sopenharmony_ci	<enum name="COMPRESS_SIZE">
36bf215546Sopenharmony_ci		<value name="BLOCK_8X8"  value="0"/>
37bf215546Sopenharmony_ci		<value name="BLOCK_16X4" value="1"/>
38bf215546Sopenharmony_ci	</enum>
39bf215546Sopenharmony_ci
40bf215546Sopenharmony_ci	<enum name="DIR_TYPE">
41bf215546Sopenharmony_ci		<value name="TL2BR" value="0"/>
42bf215546Sopenharmony_ci		<value name="TR2BL" value="1"/>
43bf215546Sopenharmony_ci		<value name="BL2TR" value="2"/>
44bf215546Sopenharmony_ci		<value name="BR2TL" value="3"/>
45bf215546Sopenharmony_ci	</enum>
46bf215546Sopenharmony_ci
47bf215546Sopenharmony_ci	<enum name="ISP_AA_MODE_TYPE">
48bf215546Sopenharmony_ci		<value name="AA_NONE" value="0"/>
49bf215546Sopenharmony_ci		<value name="AA_2X"   value="1"/>
50bf215546Sopenharmony_ci		<value name="AA_4X"   value="2"/>
51bf215546Sopenharmony_ci		<value name="AA_8X"   value="3"/>
52bf215546Sopenharmony_ci	</enum>
53bf215546Sopenharmony_ci
54bf215546Sopenharmony_ci	<enum name="ISP_RENDER_MODE_TYPE">
55bf215546Sopenharmony_ci		<value name="NORM"       value="0"/>
56bf215546Sopenharmony_ci		<value name="FAST_2D"    value="2"/>
57bf215546Sopenharmony_ci		<value name="FAST_SCALE" value="3"/>
58bf215546Sopenharmony_ci	</enum>
59bf215546Sopenharmony_ci
60bf215546Sopenharmony_ci	<enum name="MEMLAYOUT">
61bf215546Sopenharmony_ci		<value name="LINEAR"     value="0"/>
62bf215546Sopenharmony_ci		<value name="TWIDDLE_2D" value="1"/>
63bf215546Sopenharmony_ci		<value name="TWIDDLE_3D" value="2"/>
64bf215546Sopenharmony_ci		<value name="TILED"      value="3"/>
65bf215546Sopenharmony_ci	</enum>
66bf215546Sopenharmony_ci
67bf215546Sopenharmony_ci	<enum name="MODE_TYPE">
68bf215546Sopenharmony_ci		<value name="DX9"  value="0"/>
69bf215546Sopenharmony_ci		<value name="DX10" value="1"/>
70bf215546Sopenharmony_ci		<value name="OGL"  value="2"/>
71bf215546Sopenharmony_ci	</enum>
72bf215546Sopenharmony_ci
73bf215546Sopenharmony_ci	<enum name="PIPE_NUM">
74bf215546Sopenharmony_ci		<value name="PIPE_ONE"      value="0"/>
75bf215546Sopenharmony_ci		<value name="PIPE_TWO"      value="1"/>
76bf215546Sopenharmony_ci		<value name="PIPE_THREE"    value="2"/>
77bf215546Sopenharmony_ci		<value name="PIPE_FOUR"     value="3"/>
78bf215546Sopenharmony_ci		<value name="PIPE_FIVE"     value="4"/>
79bf215546Sopenharmony_ci		<value name="PIPE_SIX"      value="5"/>
80bf215546Sopenharmony_ci		<value name="PIPE_SEVEN"    value="6"/>
81bf215546Sopenharmony_ci		<value name="PIPE_EIGHT"    value="7"/>
82bf215546Sopenharmony_ci		<value name="PIPE_NINE"     value="8"/>
83bf215546Sopenharmony_ci		<value name="PIPE_TEN"      value="9"/>
84bf215546Sopenharmony_ci		<value name="PIPE_ELEVEN"   value="10"/>
85bf215546Sopenharmony_ci		<value name="PIPE_TWELVE"   value="11"/>
86bf215546Sopenharmony_ci		<value name="PIPE_THIRTEEN" value="12"/>
87bf215546Sopenharmony_ci		<value name="PIPE_FOURTEEN" value="13"/>
88bf215546Sopenharmony_ci		<value name="PIPE_FIFTEEN"  value="14"/>
89bf215546Sopenharmony_ci		<value name="PIPE_SIXTEEN"  value="15"/>
90bf215546Sopenharmony_ci	</enum>
91bf215546Sopenharmony_ci
92bf215546Sopenharmony_ci	<enum name="PIXEL_WIDTH">
93bf215546Sopenharmony_ci		<value name="2REGISTERS" value="0"/>
94bf215546Sopenharmony_ci		<value name="4REGISTERS" value="1"/>
95bf215546Sopenharmony_ci		<value name="8REGISTERS" value="2"/>
96bf215546Sopenharmony_ci		<value name="1REGISTER"  value="3"/>
97bf215546Sopenharmony_ci	</enum>
98bf215546Sopenharmony_ci
99bf215546Sopenharmony_ci	<enum name="ROTATION_TYPE">
100bf215546Sopenharmony_ci		<value name="0_DEG"   value="0"/>
101bf215546Sopenharmony_ci		<value name="90_DEG"  value="1"/>
102bf215546Sopenharmony_ci		<value name="180_DEG" value="2"/>
103bf215546Sopenharmony_ci		<value name="270_DEG" value="3"/>
104bf215546Sopenharmony_ci	</enum>
105bf215546Sopenharmony_ci
106bf215546Sopenharmony_ci	<enum name="SIZE">
107bf215546Sopenharmony_ci		<value name="1_PIXEL"   value="0"/>
108bf215546Sopenharmony_ci		<value name="2_PIXEL"   value="1"/>
109bf215546Sopenharmony_ci		<value name="4_PIXEL"   value="2"/>
110bf215546Sopenharmony_ci		<value name="8_PIXEL"   value="3"/>
111bf215546Sopenharmony_ci		<value name="16_PIXEL"  value="4"/>
112bf215546Sopenharmony_ci		<value name="32_PIXEL"  value="5"/>
113bf215546Sopenharmony_ci		<value name="64_PIXEL"  value="6"/>
114bf215546Sopenharmony_ci		<value name="128_PIXEL" value="7"/>
115bf215546Sopenharmony_ci		<value name="256_PIXEL" value="8"/>
116bf215546Sopenharmony_ci		<value name="512_PIXEL" value="9"/>
117bf215546Sopenharmony_ci		<value name="1K_PIXEL"  value="10"/>
118bf215546Sopenharmony_ci		<value name="2K_PIXEL"  value="11"/>
119bf215546Sopenharmony_ci		<value name="4K_PIXEL"  value="12"/>
120bf215546Sopenharmony_ci		<value name="8K_PIXEL"  value="13"/>
121bf215546Sopenharmony_ci		<value name="16K_PIXEL" value="14"/>
122bf215546Sopenharmony_ci	</enum>
123bf215546Sopenharmony_ci
124bf215546Sopenharmony_ci	<enum name="SWIZ">
125bf215546Sopenharmony_ci		<value name="SOURCE_CHAN0" value="0"/>
126bf215546Sopenharmony_ci		<value name="SOURCE_CHAN1" value="1"/>
127bf215546Sopenharmony_ci		<value name="SOURCE_CHAN2" value="2"/>
128bf215546Sopenharmony_ci		<value name="SOURCE_CHAN3" value="3"/>
129bf215546Sopenharmony_ci		<value name="ONE"          value="4"/>
130bf215546Sopenharmony_ci		<value name="ZERO"         value="5"/>
131bf215546Sopenharmony_ci	</enum>
132bf215546Sopenharmony_ci
133bf215546Sopenharmony_ci	<enum name="TFBC_LOSSY">
134bf215546Sopenharmony_ci		<value name="LOSSLESS" value="0"/>
135bf215546Sopenharmony_ci		<value name="LOSSY_75" value="1"/>
136bf215546Sopenharmony_ci		<value name="LOSSY_50" value="2"/>
137bf215546Sopenharmony_ci		<value name="LOSSY_25" value="3"/>
138bf215546Sopenharmony_ci	</enum>
139bf215546Sopenharmony_ci
140bf215546Sopenharmony_ci	<enum name="TWOCOMP_GAMMA">
141bf215546Sopenharmony_ci		<value name="GAMMA_BOTTOM_CHANNEL" value="0"/>
142bf215546Sopenharmony_ci		<value name="GAMMA_BOTH_CHANNELS"  value="1"/>
143bf215546Sopenharmony_ci	</enum>
144bf215546Sopenharmony_ci
145bf215546Sopenharmony_ci	<enum name="ZLOADFORMAT_TYPE">
146bf215546Sopenharmony_ci		<value name="F32Z"     value="0"/>
147bf215546Sopenharmony_ci		<value name="24BITINT" value="1"/>
148bf215546Sopenharmony_ci		<value name="16BITINT" value="2"/>
149bf215546Sopenharmony_ci		<value name="F64Z"     value="3"/>
150bf215546Sopenharmony_ci	</enum>
151bf215546Sopenharmony_ci
152bf215546Sopenharmony_ci	<enum name="ZSTOREFORMAT_TYPE">
153bf215546Sopenharmony_ci		<value name="F32Z"     value="0"/>
154bf215546Sopenharmony_ci		<value name="24BITINT" value="1"/>
155bf215546Sopenharmony_ci		<value name="16BITINT" value="2"/>
156bf215546Sopenharmony_ci		<value name="F64Z"     value="3"/>
157bf215546Sopenharmony_ci	</enum>
158bf215546Sopenharmony_ci
159bf215546Sopenharmony_ci	<struct name="PM_MTILE_ARRAY" length="2">
160bf215546Sopenharmony_ci		<field name="base_addr" start="4" end="39" shift="4" type="address"/>
161bf215546Sopenharmony_ci	</struct>
162bf215546Sopenharmony_ci
163bf215546Sopenharmony_ci	<struct name="PM_VHEAP_TABLE" length="2">
164bf215546Sopenharmony_ci		<field name="base_addr" start="4" end="39" shift="4" type="address"/>
165bf215546Sopenharmony_ci	</struct>
166bf215546Sopenharmony_ci
167bf215546Sopenharmony_ci	<struct name="PM_MLIST0_BASE" length="2">
168bf215546Sopenharmony_ci		<field name="addr" start="4" end="39" shift="4" type="address"/>
169bf215546Sopenharmony_ci	</struct>
170bf215546Sopenharmony_ci
171bf215546Sopenharmony_ci	<struct name="VDM_CTRL_STREAM_BASE" length="2">
172bf215546Sopenharmony_ci		<field name="addr" start="2" end="39" shift="2" type="address"/>
173bf215546Sopenharmony_ci	</struct>
174bf215546Sopenharmony_ci
175bf215546Sopenharmony_ci	<struct name="VDM_CALL_STACK_POINTER" length="2">
176bf215546Sopenharmony_ci		<field name="addr" start="3" end="39" shift="3" type="address"/>
177bf215546Sopenharmony_ci	</struct>
178bf215546Sopenharmony_ci
179bf215546Sopenharmony_ci	<struct name="VDM_CONTEXT_STATE_BASE" length="2">
180bf215546Sopenharmony_ci		<field name="addr" start="4" end="39" shift="4" type="address"/>
181bf215546Sopenharmony_ci	</struct>
182bf215546Sopenharmony_ci
183bf215546Sopenharmony_ci	<struct name="VDM_CONTEXT_STORE_TASK0" length="2">
184bf215546Sopenharmony_ci		<field name="pds_state1" start="32" end="63" type="uint"/>
185bf215546Sopenharmony_ci		<field name="pds_state0" start="0" end="31" type="uint"/>
186bf215546Sopenharmony_ci	</struct>
187bf215546Sopenharmony_ci
188bf215546Sopenharmony_ci	<struct name="VDM_CONTEXT_STORE_TASK1" length="1">
189bf215546Sopenharmony_ci		<field name="pds_state2" start="0" end="31" type="uint"/>
190bf215546Sopenharmony_ci	</struct>
191bf215546Sopenharmony_ci
192bf215546Sopenharmony_ci	<struct name="VDM_CONTEXT_STORE_TASK2" length="2">
193bf215546Sopenharmony_ci		<field name="stream_out2" start="32" end="63" type="uint"/>
194bf215546Sopenharmony_ci		<field name="stream_out1" start="0" end="31" type="uint"/>
195bf215546Sopenharmony_ci	</struct>
196bf215546Sopenharmony_ci
197bf215546Sopenharmony_ci	<struct name="VDM_CONTEXT_RESUME_TASK0" length="2">
198bf215546Sopenharmony_ci		<field name="pds_state1" start="32" end="63" type="uint"/>
199bf215546Sopenharmony_ci		<field name="pds_state0" start="0" end="31" type="uint"/>
200bf215546Sopenharmony_ci	</struct>
201bf215546Sopenharmony_ci
202bf215546Sopenharmony_ci	<struct name="VDM_CONTEXT_RESUME_TASK1" length="1">
203bf215546Sopenharmony_ci		<field name="pds_state2" start="0" end="31" type="uint"/>
204bf215546Sopenharmony_ci	</struct>
205bf215546Sopenharmony_ci
206bf215546Sopenharmony_ci	<struct name="VDM_CONTEXT_RESUME_TASK2" length="2">
207bf215546Sopenharmony_ci		<field name="stream_out2" start="32" end="63" type="uint"/>
208bf215546Sopenharmony_ci		<field name="stream_out1" start="0" end="31" type="uint"/>
209bf215546Sopenharmony_ci	</struct>
210bf215546Sopenharmony_ci
211bf215546Sopenharmony_ci	<struct name="CDM_CONTEXT_STATE_BASE" length="2">
212bf215546Sopenharmony_ci		<field name="addr" start="4" end="39" shift="4" type="address"/>
213bf215546Sopenharmony_ci	</struct>
214bf215546Sopenharmony_ci
215bf215546Sopenharmony_ci	<struct name="CDM_CONTEXT_PDS0" length="2">
216bf215546Sopenharmony_ci		<field name="data_addr" start="36" end="63" shift="4" type="address"/>
217bf215546Sopenharmony_ci		<field name="code_addr" start="4" end="31" shift="4" type="address"/>
218bf215546Sopenharmony_ci	</struct>
219bf215546Sopenharmony_ci
220bf215546Sopenharmony_ci	<struct name="CDM_CTRL_STREAM_BASE" length="2">
221bf215546Sopenharmony_ci		<field name="addr" start="2" end="39" shift="2" type="address"/>
222bf215546Sopenharmony_ci	</struct>
223bf215546Sopenharmony_ci
224bf215546Sopenharmony_ci	<struct name="CDM_CONTEXT_PDS1" length="1">
225bf215546Sopenharmony_ci		<field name="pds_seq_dep" start="29" end="29" type="bool"/>
226bf215546Sopenharmony_ci		<field name="usc_seq_dep" start="28" end="28" type="bool"/>
227bf215546Sopenharmony_ci		<!-- false=All, true=Any -->
228bf215546Sopenharmony_ci		<field name="target" start="27" end="27" type="bool"/>
229bf215546Sopenharmony_ci		<field name="unified_size" start="21" end="26" type="uint"/>
230bf215546Sopenharmony_ci		<field name="common_shared" start="20" end="20" type="bool"/>
231bf215546Sopenharmony_ci		<field name="common_size" start="11" end="19" type="uint">
232bf215546Sopenharmony_ci			<define name="UNIT_SIZE" value="64"/>
233bf215546Sopenharmony_ci		</field>
234bf215546Sopenharmony_ci		<field name="temp_size" start="7" end="10" type="uint"/>
235bf215546Sopenharmony_ci		<field name="data_size" start="1" end="6" type="uint">
236bf215546Sopenharmony_ci			<define name="UNIT_SIZE" value="16"/>
237bf215546Sopenharmony_ci		</field>
238bf215546Sopenharmony_ci		<field name="fence" start="0" end="0" type="bool"/>
239bf215546Sopenharmony_ci	</struct>
240bf215546Sopenharmony_ci
241bf215546Sopenharmony_ci	<struct name="CDM_TERMINATE_PDS" length="2">
242bf215546Sopenharmony_ci		<field name="data_addr" start="36" end="63" shift="4" type="address"/>
243bf215546Sopenharmony_ci		<field name="code_addr" start="4" end="31" shift="4" type="address"/>
244bf215546Sopenharmony_ci	</struct>
245bf215546Sopenharmony_ci
246bf215546Sopenharmony_ci	<struct name="CDM_TERMINATE_PDS1" length="1">
247bf215546Sopenharmony_ci		<field name="pds_seq_dep" start="29" end="29" type="bool"/>
248bf215546Sopenharmony_ci		<field name="usc_seq_dep" start="28" end="28" type="bool"/>
249bf215546Sopenharmony_ci		<field name="target" start="27" end="27" type="bool"/>
250bf215546Sopenharmony_ci		<field name="unified_size" start="21" end="26" type="uint"/>
251bf215546Sopenharmony_ci		<field name="common_shared" start="20" end="20" type="bool"/>
252bf215546Sopenharmony_ci		<field name="common_size" start="11" end="19" type="uint"/>
253bf215546Sopenharmony_ci		<field name="temp_size" start="7" end="10" type="uint"/>
254bf215546Sopenharmony_ci		<field name="data_size" start="1" end="6" type="uint"/>
255bf215546Sopenharmony_ci		<field name="fence" start="0" end="0" type="bool"/>
256bf215546Sopenharmony_ci	</struct>
257bf215546Sopenharmony_ci
258bf215546Sopenharmony_ci	<struct name="CDM_CONTEXT_LOAD_PDS0" length="2">
259bf215546Sopenharmony_ci		<field name="data_addr" start="36" end="63" shift="4" type="address"/>
260bf215546Sopenharmony_ci		<field name="code_addr" start="4" end="31" shift="4" type="address"/>
261bf215546Sopenharmony_ci	</struct>
262bf215546Sopenharmony_ci
263bf215546Sopenharmony_ci	<struct name="COMPUTE_CLUSTER" length="1">
264bf215546Sopenharmony_ci		<field name="mask" start="0" end="31" type="uint"/>
265bf215546Sopenharmony_ci	</struct>
266bf215546Sopenharmony_ci
267bf215546Sopenharmony_ci	<struct name="PDS_CTRL" length="2">
268bf215546Sopenharmony_ci		<field name="sm_overlap_enable" start="55" end="55" type="bool"/>
269bf215546Sopenharmony_ci		<condition type="if" check="ROGUEXE"/>
270bf215546Sopenharmony_ci			<condition type="if" check="COMPUTE"/>
271bf215546Sopenharmony_ci				<field name="roguexe_max_num_cdm_tasks" start="24" end="31" type="uint"/>
272bf215546Sopenharmony_ci			<condition type="endif" check="COMPUTE"/>
273bf215546Sopenharmony_ci			<condition type="if" check="NUM_RASTER_PIPES &gt; 0"/>
274bf215546Sopenharmony_ci				<field name="roguexe_max_num_pdm_tasks" start="16" end="23" type="uint"/>
275bf215546Sopenharmony_ci			<condition type="endif" check="NUM_RASTER_PIPES &gt; 0"/>
276bf215546Sopenharmony_ci			<condition type="if" check="NUM_TA &gt; 0"/>
277bf215546Sopenharmony_ci				<field name="roguexe_max_num_vdm_tasks" start="8" end="15" type="uint"/>
278bf215546Sopenharmony_ci			<condition type="endif" check="NUM_TA &gt; 0"/>
279bf215546Sopenharmony_ci		<condition type="else" check="ROGUEXE"/>
280bf215546Sopenharmony_ci			<condition type="if" check="COMPUTE"/>
281bf215546Sopenharmony_ci				<field name="max_num_cdm_tasks" start="24" end="30" type="uint"/>
282bf215546Sopenharmony_ci			<condition type="endif" check="COMPUTE"/>
283bf215546Sopenharmony_ci			<field name="max_num_pdm_tasks" start="16" end="22" type="uint"/>
284bf215546Sopenharmony_ci			<field name="max_num_vdm_tasks" start="8" end="14" type="uint"/>
285bf215546Sopenharmony_ci		<condition type="endif" check="ROGUEXE"/>
286bf215546Sopenharmony_ci	</struct>
287bf215546Sopenharmony_ci
288bf215546Sopenharmony_ci	<struct name="EVENT_PIXEL_PDS_CODE" length="1">
289bf215546Sopenharmony_ci		<field name="addr" start="4" end="31" shift="4" type="address"/>
290bf215546Sopenharmony_ci	</struct>
291bf215546Sopenharmony_ci
292bf215546Sopenharmony_ci	<struct name="EVENT_PIXEL_PDS_DATA" length="1">
293bf215546Sopenharmony_ci		<!-- This is an offset actually. Note for when we auto-generate the xmls. -->
294bf215546Sopenharmony_ci		<field name="addr" start="4" end="31" shift="4" type="address"/>
295bf215546Sopenharmony_ci	</struct>
296bf215546Sopenharmony_ci
297bf215546Sopenharmony_ci	<struct name="EVENT_PIXEL_PDS_INFO" length="1">
298bf215546Sopenharmony_ci		<field name="usc_sr_size" start="9" end="14" type="uint">
299bf215546Sopenharmony_ci			<define name="UNIT_SIZE" value="16"/>
300bf215546Sopenharmony_ci		</field>
301bf215546Sopenharmony_ci		<field name="temp_stride" start="5" end="8" type="uint">
302bf215546Sopenharmony_ci			<define name="UNIT_SIZE" value="4"/>
303bf215546Sopenharmony_ci		</field>
304bf215546Sopenharmony_ci		<field name="const_size" start="0" end="4" type="uint">
305bf215546Sopenharmony_ci			<define name="UNIT_SIZE" value="4"/>
306bf215546Sopenharmony_ci		</field>
307bf215546Sopenharmony_ci	</struct>
308bf215546Sopenharmony_ci
309bf215546Sopenharmony_ci	<struct name="PDS_BGRND0_BASE" length="2">
310bf215546Sopenharmony_ci		<!-- This is an offset actually. Note for when we auto-generate the xmls. -->
311bf215546Sopenharmony_ci		<field name="texunicode_addr" start="36" end="63" shift="4" type="address"/>
312bf215546Sopenharmony_ci		<!-- This is an offset actually. Note for when we auto-generate the xmls. -->
313bf215546Sopenharmony_ci		<field name="shader_addr" start="4" end="31" shift="4" type="address"/>
314bf215546Sopenharmony_ci	</struct>
315bf215546Sopenharmony_ci
316bf215546Sopenharmony_ci	<struct name="PDS_BGRND1_BASE" length="2">
317bf215546Sopenharmony_ci		<!-- This is an offset actually. Note for when we auto-generate the xmls. -->
318bf215546Sopenharmony_ci		<field name="texturedata_addr" start="36" end="63" shift="4" type="address"/>
319bf215546Sopenharmony_ci		<!-- Unused in the Vulkan driver. -->
320bf215546Sopenharmony_ci		<field name="varying_addr" start="4" end="31" shift="4" type="address"/>
321bf215546Sopenharmony_ci	</struct>
322bf215546Sopenharmony_ci
323bf215546Sopenharmony_ci	<struct name="PDS_BGRND2_BASE" length="2">
324bf215546Sopenharmony_ci		<!-- This is an offset actually. Note for when we auto-generate the xmls. -->
325bf215546Sopenharmony_ci		<field name="uniformdata_addr" start="4" end="31" shift="4" type="address"/>
326bf215546Sopenharmony_ci	</struct>
327bf215546Sopenharmony_ci
328bf215546Sopenharmony_ci	<struct name="PDS_BGRND3_SIZEINFO" length="2">
329bf215546Sopenharmony_ci		<field name="usc_sharedsize" start="55" end="63" type="uint">
330bf215546Sopenharmony_ci			<define name="UNIT_SIZE" value="16"/>
331bf215546Sopenharmony_ci		</field>
332bf215546Sopenharmony_ci		<field name="pds_batchnum" start="32" end="45" type="uint"/>
333bf215546Sopenharmony_ci		<field name="pds_uniformsize" start="23" end="31" type="uint">
334bf215546Sopenharmony_ci			<define name="UNIT_SIZE" value="4"/>
335bf215546Sopenharmony_ci		</field>
336bf215546Sopenharmony_ci		<field name="pds_texturestatesize" start="16" end="22" type="uint">
337bf215546Sopenharmony_ci			<define name="UNIT_SIZE" value="4"/>
338bf215546Sopenharmony_ci		</field>
339bf215546Sopenharmony_ci		<field name="pds_varyingsize" start="10" end="15" type="uint">
340bf215546Sopenharmony_ci			<define name="UNIT_SIZE" value="4"/>
341bf215546Sopenharmony_ci		</field>
342bf215546Sopenharmony_ci		<field name="usc_varyingsize" start="4" end="9" type="uint">
343bf215546Sopenharmony_ci			<define name="UNIT_SIZE" value="16"/>
344bf215546Sopenharmony_ci		</field>
345bf215546Sopenharmony_ci		<field name="pds_tempsize" start="0" end="3" type="uint">
346bf215546Sopenharmony_ci			<define name="UNIT_SIZE" value="4"/>
347bf215546Sopenharmony_ci		</field>
348bf215546Sopenharmony_ci	</struct>
349bf215546Sopenharmony_ci
350bf215546Sopenharmony_ci	<struct name="TE_AA" length="1">
351bf215546Sopenharmony_ci		<condition type="if" check="SIMPLE_INTERNAL_PARAMETER_FORMAT &amp;&amp; ISP_SAMPLES_PER_PIXEL &gt; 2"/>
352bf215546Sopenharmony_ci			<field name="y2" start="3" end="3" type="bool"/>
353bf215546Sopenharmony_ci		<condition type="endif" check="SIMPLE_INTERNAL_PARAMETER_FORMAT &amp;&amp; ISP_SAMPLES_PER_PIXEL &gt; 2"/>
354bf215546Sopenharmony_ci		<field name="y" start="2" end="2" type="bool"/>
355bf215546Sopenharmony_ci		<field name="x" start="1" end="1" type="bool"/>
356bf215546Sopenharmony_ci		<field name="x2" start="0" end="0" type="bool"/>
357bf215546Sopenharmony_ci	</struct>
358bf215546Sopenharmony_ci
359bf215546Sopenharmony_ci	<struct name="TE_MTILE1" length="1">
360bf215546Sopenharmony_ci		<field name="x1" start="18" end="26" type="uint"/>
361bf215546Sopenharmony_ci		<field name="x2" start="9" end="17" type="uint"/>
362bf215546Sopenharmony_ci		<field name="x3" start="0" end="8" type="uint"/>
363bf215546Sopenharmony_ci	</struct>
364bf215546Sopenharmony_ci
365bf215546Sopenharmony_ci	<struct name="TE_MTILE2" length="1">
366bf215546Sopenharmony_ci		<field name="y1" start="18" end="26" type="uint"/>
367bf215546Sopenharmony_ci		<field name="y2" start="9" end="17" type="uint"/>
368bf215546Sopenharmony_ci		<field name="y3" start="0" end="8" type="uint"/>
369bf215546Sopenharmony_ci	</struct>
370bf215546Sopenharmony_ci
371bf215546Sopenharmony_ci	<struct name="TE_SCREEN" length="1">
372bf215546Sopenharmony_ci		<field name="ymax" start="12" end="20" type="uint"/>
373bf215546Sopenharmony_ci		<field name="xmax" start="0" end="8" type="uint"/>
374bf215546Sopenharmony_ci	</struct>
375bf215546Sopenharmony_ci
376bf215546Sopenharmony_ci	<struct name="TE_PSG" length="1">
377bf215546Sopenharmony_ci		<condition type="if" check="ROGUEXE"/>
378bf215546Sopenharmony_ci			<condition type="if" check="TILE_REGION_PROTECTION"/>
379bf215546Sopenharmony_ci				<field name="force_protect" start="22" end="22" type="uint"/>
380bf215546Sopenharmony_ci			<condition type="endif" check="TILE_REGION_PROTECTION"/>
381bf215546Sopenharmony_ci			<field name="cs_size" start="21" end="21" type="uint"/>
382bf215546Sopenharmony_ci			<field name="enable_pwr_gate_state" start="20" end="20" type="bool"/>
383bf215546Sopenharmony_ci		<condition type="endif" check="ROGUEXE"/>
384bf215546Sopenharmony_ci		<field name="enable_context_state_restore" start="19" end="19" type="bool"/>
385bf215546Sopenharmony_ci		<field name="zonlyrender" start="18" end="18" type="bool"/>
386bf215546Sopenharmony_ci		<field name="completeonterminate" start="17" end="17" type="bool"/>
387bf215546Sopenharmony_ci		<field name="cache_bypass" start="14" end="14" type="bool"/>
388bf215546Sopenharmony_ci		<field name="forcenewstate" start="13" end="13" type="bool"/>
389bf215546Sopenharmony_ci		<field name="region_stride" start="0" end="10" type="uint">
390bf215546Sopenharmony_ci			<define name="UNIT_SIZE" value="4096"/>
391bf215546Sopenharmony_ci		</field>
392bf215546Sopenharmony_ci	</struct>
393bf215546Sopenharmony_ci
394bf215546Sopenharmony_ci	<!-- FIXME: This is only a partial definition as (at the time of writing)
395bf215546Sopenharmony_ci	     csbgen doesn't support multiple address fields within structure.
396bf215546Sopenharmony_ci	-->
397bf215546Sopenharmony_ci	<!-- FIXME: When csbgen supports conditional structs, make this
398bf215546Sopenharmony_ci	     conditional on NUM_TA > 0.
399bf215546Sopenharmony_ci	-->
400bf215546Sopenharmony_ci	<struct name="TE_PSGREGION_ADDR" length="2">
401bf215546Sopenharmony_ci		<field name="base" start="6" end="33" shift="6" type="address"/>
402bf215546Sopenharmony_ci	</struct>
403bf215546Sopenharmony_ci
404bf215546Sopenharmony_ci	<!-- FIXME: This is only a partial definition as (at the time of writing)
405bf215546Sopenharmony_ci	     csbgen doesn't support multiple address fields within structure.
406bf215546Sopenharmony_ci	-->
407bf215546Sopenharmony_ci	<struct name="TE_TPC_ADDR" length="2">
408bf215546Sopenharmony_ci		<field name="base" start="6" end="33" shift="6" type="address"/>
409bf215546Sopenharmony_ci	</struct>
410bf215546Sopenharmony_ci
411bf215546Sopenharmony_ci	<struct name="PPP_MULTISAMPLECTL" length="2">
412bf215546Sopenharmony_ci		<condition type="if" check="MAX_MULTISAMPLE == 8"/>
413bf215546Sopenharmony_ci			<field name="msaa_y7" start="60" end="63" type="uint"/>
414bf215546Sopenharmony_ci			<field name="msaa_x7" start="56" end="59" type="uint"/>
415bf215546Sopenharmony_ci			<field name="msaa_y6" start="52" end="55" type="uint"/>
416bf215546Sopenharmony_ci			<field name="msaa_x6" start="48" end="51" type="uint"/>
417bf215546Sopenharmony_ci			<field name="msaa_y5" start="44" end="47" type="uint"/>
418bf215546Sopenharmony_ci			<field name="msaa_x5" start="40" end="43" type="uint"/>
419bf215546Sopenharmony_ci			<field name="msaa_y4" start="36" end="39" type="uint"/>
420bf215546Sopenharmony_ci			<field name="msaa_x4" start="32" end="35" type="uint"/>
421bf215546Sopenharmony_ci		<condition type="endif" check="MAX_MULTISAMPLE == 8"/>
422bf215546Sopenharmony_ci		<field name="msaa_y3" start="28" end="31" type="uint"/>
423bf215546Sopenharmony_ci		<field name="msaa_x3" start="24" end="27" type="uint"/>
424bf215546Sopenharmony_ci		<field name="msaa_y2" start="20" end="23" type="uint"/>
425bf215546Sopenharmony_ci		<field name="msaa_x2" start="16" end="19" type="uint"/>
426bf215546Sopenharmony_ci		<field name="msaa_y1" start="12" end="15" type="uint"/>
427bf215546Sopenharmony_ci		<field name="msaa_x1" start="8" end="11" type="uint"/>
428bf215546Sopenharmony_ci		<field name="msaa_y0" start="4" end="7" type="uint"/>
429bf215546Sopenharmony_ci		<field name="msaa_x0" start="0" end="3" type="uint"/>
430bf215546Sopenharmony_ci	</struct>
431bf215546Sopenharmony_ci
432bf215546Sopenharmony_ci	<struct name="PPP_CTRL" length="1">
433bf215546Sopenharmony_ci		<field name="vpt_scissor" start="12" end="12" type="bool"/>
434bf215546Sopenharmony_ci		<field name="flush_mode" start="11" end="11" type="uint"/>
435bf215546Sopenharmony_ci		<field name="bfcull_restrict_clip" start="10" end="10" type="bool"/>
436bf215546Sopenharmony_ci		<field name="fixed_point_format" start="9" end="9" type="uint"/>
437bf215546Sopenharmony_ci		<field name="default_point_size" start="8" end="8" type="bool"/>
438bf215546Sopenharmony_ci		<field name="bfcull1_disable" start="7" end="7" type="bool"/>
439bf215546Sopenharmony_ci		<field name="bfcull2_disable" start="6" end="6" type="bool"/>
440bf215546Sopenharmony_ci		<field name="fccull_disable" start="5" end="5" type="bool"/>
441bf215546Sopenharmony_ci		<field name="oscull_disable" start="4" end="4" type="bool"/>
442bf215546Sopenharmony_ci		<field name="socull_disable" start="2" end="2" type="bool"/>
443bf215546Sopenharmony_ci		<field name="wclampen" start="1" end="1" type="bool"/>
444bf215546Sopenharmony_ci		<field name="opengl" start="0" end="0" type="bool"/>
445bf215546Sopenharmony_ci	</struct>
446bf215546Sopenharmony_ci
447bf215546Sopenharmony_ci	<struct name="PPP_SCREEN" length="1">
448bf215546Sopenharmony_ci		<field name="pixymax" start="16" end="30" type="uint"/>
449bf215546Sopenharmony_ci		<field name="pixxmax" start="0" end="14" type="uint"/>
450bf215546Sopenharmony_ci	</struct>
451bf215546Sopenharmony_ci
452bf215546Sopenharmony_ci	<!-- FIXME: This is only a partial definition as (at the time of writing)
453bf215546Sopenharmony_ci	     csbgen doesn't support multiple address fields within structure.
454bf215546Sopenharmony_ci	-->
455bf215546Sopenharmony_ci	<struct name="TA_RTC_ADDR" length="2">
456bf215546Sopenharmony_ci		<field name="base" start="6" end="33" shift="6" type="address"/>
457bf215546Sopenharmony_ci	</struct>
458bf215546Sopenharmony_ci
459bf215546Sopenharmony_ci	<struct name="TA_CONTEXT_STATE_BASE" length="2">
460bf215546Sopenharmony_ci		<field name="addr" start="4" end="39" shift="4" type="address"/>
461bf215546Sopenharmony_ci	</struct>
462bf215546Sopenharmony_ci
463bf215546Sopenharmony_ci	<struct name="ISP_RENDER" length="1">
464bf215546Sopenharmony_ci		<field name="disable_eomt" start="5" end="5" type="bool"/>
465bf215546Sopenharmony_ci		<field name="resume" start="4" end="4" type="bool"/>
466bf215546Sopenharmony_ci		<field name="dir_type" start="2" end="3" type="DIR_TYPE"/>
467bf215546Sopenharmony_ci		<field name="mode_type" start="0" end="1" type="ISP_RENDER_MODE_TYPE"/>
468bf215546Sopenharmony_ci	</struct>
469bf215546Sopenharmony_ci
470bf215546Sopenharmony_ci	<struct name="ISP_RENDER_ORIGIN" length="1">
471bf215546Sopenharmony_ci		<field name="x" start="16" end="25" type="uint"/>
472bf215546Sopenharmony_ci		<field name="y" start="0" end="9" type="uint"/>
473bf215546Sopenharmony_ci	</struct>
474bf215546Sopenharmony_ci
475bf215546Sopenharmony_ci	<struct name="ISP_MTILE_SIZE" length="1">
476bf215546Sopenharmony_ci		<field name="x" start="16" end="25" type="uint"/>
477bf215546Sopenharmony_ci		<field name="y" start="0" end="9" type="uint"/>
478bf215546Sopenharmony_ci	</struct>
479bf215546Sopenharmony_ci
480bf215546Sopenharmony_ci	<struct name="ISP_BGOBJDEPTH" length="1">
481bf215546Sopenharmony_ci		<field name="value" start="0" end="31" type="uint"/>
482bf215546Sopenharmony_ci	</struct>
483bf215546Sopenharmony_ci
484bf215546Sopenharmony_ci	<struct name="ISP_BGOBJVALS" length="1">
485bf215546Sopenharmony_ci		<field name="enablebgtag" start="9" end="9" type="bool"/>
486bf215546Sopenharmony_ci		<field name="mask" start="8" end="8" type="bool"/>
487bf215546Sopenharmony_ci		<field name="stencil" start="0" end="7" type="uint"/>
488bf215546Sopenharmony_ci	</struct>
489bf215546Sopenharmony_ci
490bf215546Sopenharmony_ci	<struct name="ISP_AA" length="1">
491bf215546Sopenharmony_ci		<field name="mode" start="0" end="1" type="ISP_AA_MODE_TYPE"/>
492bf215546Sopenharmony_ci	</struct>
493bf215546Sopenharmony_ci
494bf215546Sopenharmony_ci	<struct name="ISP_CTL" length="1">
495bf215546Sopenharmony_ci		<field name="skip_init_hdrs" start="31" end="31" type="bool"/>
496bf215546Sopenharmony_ci		<field name="line_style" start="30" end="30" type="bool"/>
497bf215546Sopenharmony_ci		<field name="line_style_pix" start="29" end="29" type="bool"/>
498bf215546Sopenharmony_ci		<field name="pair_tiles_vert" start="28" end="28" type="bool"/>
499bf215546Sopenharmony_ci		<field name="pair_tiles" start="27" end="27" type="bool"/>
500bf215546Sopenharmony_ci		<field name="creq_buf_en" start="26" end="26" type="bool"/>
501bf215546Sopenharmony_ci		<field name="tile_age_en" start="25" end="25" type="bool"/>
502bf215546Sopenharmony_ci		<field name="isp_sample_pos_mode" start="23" end="24" type="MODE_TYPE"/>
503bf215546Sopenharmony_ci		<field name="num_tiles_per_usc" start="21" end="22" type="uint"/>
504bf215546Sopenharmony_ci		<field name="dbias_is_int" start="20" end="20" type="bool"/>
505bf215546Sopenharmony_ci		<field name="overlap_check_mode" start="19" end="19" type="bool"/>
506bf215546Sopenharmony_ci		<field name="pt_upfront_depth_disable" start="18" end="18" type="bool"/>
507bf215546Sopenharmony_ci		<field name="process_empty_tiles" start="17" end="17" type="bool"/>
508bf215546Sopenharmony_ci		<field name="sample_pos" start="16" end="16" type="bool"/>
509bf215546Sopenharmony_ci		<field name="pipe_enable" start="12" end="15" type="PIPE_NUM"/>
510bf215546Sopenharmony_ci		<field name="valid_id" start="4" end="9" type="uint"/>
511bf215546Sopenharmony_ci		<field name="upass_start" start="0" end="3" type="uint"/>
512bf215546Sopenharmony_ci	</struct>
513bf215546Sopenharmony_ci
514bf215546Sopenharmony_ci	<struct name="ISP_ZLSCTL" length="2">
515bf215546Sopenharmony_ci		<field name="zlsextent_y_s" start="48" end="57" type="uint"/>
516bf215546Sopenharmony_ci		<field name="zlsextent_x_s" start="38" end="47" type="uint"/>
517bf215546Sopenharmony_ci		<field name="stencil_extent_enable" start="37" end="37" type="bool"/>
518bf215546Sopenharmony_ci		<field name="zlsextent_y_z" start="27" end="36" type="uint"/>
519bf215546Sopenharmony_ci		<field name="zstoreformat" start="25" end="26" type="ZSTOREFORMAT_TYPE"/>
520bf215546Sopenharmony_ci		<field name="zloadformat" start="23" end="24" type="ZLOADFORMAT_TYPE"/>
521bf215546Sopenharmony_ci		<field name="fb_storeen" start="22" end="22" type="bool"/>
522bf215546Sopenharmony_ci		<field name="fb_loaden" start="21" end="21" type="bool"/>
523bf215546Sopenharmony_ci		<field name="mstoreen" start="20" end="20" type="bool"/>
524bf215546Sopenharmony_ci		<field name="zstoreen" start="19" end="19" type="bool"/>
525bf215546Sopenharmony_ci		<field name="sstoreen" start="18" end="18" type="bool"/>
526bf215546Sopenharmony_ci		<field name="storetwiddled" start="17" end="17" type="bool"/>
527bf215546Sopenharmony_ci		<field name="mloaden" start="16" end="16" type="bool"/>
528bf215546Sopenharmony_ci		<field name="zloaden" start="15" end="15" type="bool"/>
529bf215546Sopenharmony_ci		<field name="sloaden" start="14" end="14" type="bool"/>
530bf215546Sopenharmony_ci		<field name="loadtwiddled" start="13" end="13" type="bool"/>
531bf215546Sopenharmony_ci		<field name="zlsextent_x_z" start="3" end="12" type="uint"/>
532bf215546Sopenharmony_ci		<field name="forcezstore" start="2" end="2" type="bool"/>
533bf215546Sopenharmony_ci		<field name="forcezload" start="1" end="1" type="bool"/>
534bf215546Sopenharmony_ci		<field name="zonlyrender" start="0" end="0" type="bool"/>
535bf215546Sopenharmony_ci	</struct>
536bf215546Sopenharmony_ci
537bf215546Sopenharmony_ci	<struct name="ISP_ZLOAD_BASE" length="2">
538bf215546Sopenharmony_ci		<field name="addr" start="4" end="39" shift="4" type="address"/>
539bf215546Sopenharmony_ci	</struct>
540bf215546Sopenharmony_ci
541bf215546Sopenharmony_ci	<struct name="ISP_STENCIL_LOAD_BASE" length="2">
542bf215546Sopenharmony_ci		<field name="addr" start="4" end="39" shift="4" type="address"/>
543bf215546Sopenharmony_ci		<field name="enable" start="0" end="0" type="bool"/>
544bf215546Sopenharmony_ci	</struct>
545bf215546Sopenharmony_ci
546bf215546Sopenharmony_ci	<struct name="ISP_SCISSOR_BASE" length="2">
547bf215546Sopenharmony_ci		<field name="addr" start="2" end="39" shift="2" type="address"/>
548bf215546Sopenharmony_ci	</struct>
549bf215546Sopenharmony_ci
550bf215546Sopenharmony_ci	<struct name="ISP_DBIAS_BASE" length="2">
551bf215546Sopenharmony_ci		<field name="addr" start="2" end="39" shift="2" type="address"/>
552bf215546Sopenharmony_ci	</struct>
553bf215546Sopenharmony_ci
554bf215546Sopenharmony_ci	<struct name="ISP_OCLQRY_BASE" length="2">
555bf215546Sopenharmony_ci		<field name="addr" start="4" end="39" shift="4" type="address"/>
556bf215546Sopenharmony_ci	</struct>
557bf215546Sopenharmony_ci
558bf215546Sopenharmony_ci	<struct name="ISP_ZLS_PIXELS" length="1">
559bf215546Sopenharmony_ci		<field name="y" start="15" end="29" type="uint"/>
560bf215546Sopenharmony_ci		<field name="x" start="0" end="14" type="uint"/>
561bf215546Sopenharmony_ci	</struct>
562bf215546Sopenharmony_ci
563bf215546Sopenharmony_ci	<struct name="PBE_WORD0_MRT0" length="2">
564bf215546Sopenharmony_ci		<condition type="if" check="TFBC"/>
565bf215546Sopenharmony_ci			<field name="tfbc_lossy" start="62" end="63" type="TFBC_LOSSY"/>
566bf215546Sopenharmony_ci		<condition type="endif" check="TFBC"/>
567bf215546Sopenharmony_ci		<field name="x_rsrvd" start="63" end="63" type="bool"/>
568bf215546Sopenharmony_ci		<field name="pair_tiles" start="60" end="60" type="uint"/>
569bf215546Sopenharmony_ci		<field name="comp_iaddr_mode" start="60" end="60" type="COMP_IADDR_TYPE"/>
570bf215546Sopenharmony_ci		<field name="x_rsrvd2" start="59" end="59" type="bool"/>
571bf215546Sopenharmony_ci		<field name="comp_cor_enable" start="59" end="59" type="bool"/>
572bf215546Sopenharmony_ci		<field name="dither" start="58" end="58" type="bool"/>
573bf215546Sopenharmony_ci		<field name="tilerelative" start="57" end="57" type="bool"/>
574bf215546Sopenharmony_ci		<field name="downscale" start="56" end="56" type="bool"/>
575bf215546Sopenharmony_ci		<field name="size_z" start="52" end="55" type="SIZE"/>
576bf215546Sopenharmony_ci		<field name="rotation" start="50" end="51" type="ROTATION_TYPE"/>
577bf215546Sopenharmony_ci		<field name="linestride" start="34" end="49" type="uint"/>
578bf215546Sopenharmony_ci		<field name="memlayout" start="32" end="33" type="MEMLAYOUT"/>
579bf215546Sopenharmony_ci		<field name="swiz_chan3" start="29" end="31" type="SWIZ"/>
580bf215546Sopenharmony_ci		<field name="swiz_chan2" start="26" end="28" type="SWIZ"/>
581bf215546Sopenharmony_ci		<field name="swiz_chan1" start="23" end="25" type="SWIZ"/>
582bf215546Sopenharmony_ci		<field name="swiz_chan0" start="20" end="22" type="SWIZ"/>
583bf215546Sopenharmony_ci		<field name="minclip_x" start="6" end="19" type="uint"/>
584bf215546Sopenharmony_ci		<field name="twocomp_gamma" start="5" end="5" type="TWOCOMP_GAMMA"/>
585bf215546Sopenharmony_ci		<field name="gamma" start="4" end="4" type="bool"/>
586bf215546Sopenharmony_ci		<field name="compression" start="3" end="3" type="bool"/>
587bf215546Sopenharmony_ci		<field name="compress_size" start="2" end="2" type="COMPRESS_SIZE"/>
588bf215546Sopenharmony_ci		<field name="comp_indirect_table" start="1" end="1" type="bool"/>
589bf215546Sopenharmony_ci		<condition type="if" check="PBE_YFLIP"/>
590bf215546Sopenharmony_ci			<field name="y_flip" start="0" end="0" type="bool"/>
591bf215546Sopenharmony_ci		<condition type="endif" check="PBE_YFLIP"/>
592bf215546Sopenharmony_ci	</struct>
593bf215546Sopenharmony_ci
594bf215546Sopenharmony_ci	<struct name="FRAG_SCREEN" length="1">
595bf215546Sopenharmony_ci		<field name="ymax" start="16" end="30" type="uint"/>
596bf215546Sopenharmony_ci		<field name="xmax" start="0" end="14" type="uint"/>
597bf215546Sopenharmony_ci	</struct>
598bf215546Sopenharmony_ci
599bf215546Sopenharmony_ci	<struct name="TPU" length="1">
600bf215546Sopenharmony_ci		<condition type="if" check="PDSL0SIZE &gt; 0"/>
601bf215546Sopenharmony_ci			<field name="mcu_pds_l0_off" start="8" end="8" type="bool"/>
602bf215546Sopenharmony_ci		<condition type="endif" check="PDSL0SIZE &gt; 0"/>
603bf215546Sopenharmony_ci		<condition type="if" check="TPU_CEM_DATAMASTER_GLOBAL_REGISTERS"/>
604bf215546Sopenharmony_ci			<field name="tag_cem_64_face_packing" start="7" end="7" type="bool"/>
605bf215546Sopenharmony_ci		<condition type="endif" check="TPU_CEM_DATAMASTER_GLOBAL_REGISTERS"/>
606bf215546Sopenharmony_ci		<field name="tag_enable_mmu_prefetch" start="6" end="6" type="bool"/>
607bf215546Sopenharmony_ci		<field name="tag_cem_4k_face_packing" start="5" end="5" type="bool"/>
608bf215546Sopenharmony_ci		<field name="madd_config_l0off" start="4" end="4" type="bool"/>
609bf215546Sopenharmony_ci		<field name="tag_cem_face_packing" start="3" end="3" type="bool"/>
610bf215546Sopenharmony_ci		<field name="tag_cemedge_dontfilter" start="2" end="2" type="bool"/>
611bf215546Sopenharmony_ci		<condition type="if" check="TPU_CEM_USG_NORMALISATION"/>
612bf215546Sopenharmony_ci			<field name="tag_cemgrad_dontnegate" start="1" end="1" type="bool"/>
613bf215546Sopenharmony_ci		<condition type="endif" check="TPU_CEM_USG_NORMALISATION"/>
614bf215546Sopenharmony_ci		<field name="madd_config_dxt35_transovr" start="0" end="0" type="bool"/>
615bf215546Sopenharmony_ci	</struct>
616bf215546Sopenharmony_ci
617bf215546Sopenharmony_ci	<struct name="TPU_BORDER_COLOUR_TABLE_PDM" length="2">
618bf215546Sopenharmony_ci		<field name="border_colour_table_address" start="0" end="37" shift="2" type="address"/>
619bf215546Sopenharmony_ci	</struct>
620bf215546Sopenharmony_ci
621bf215546Sopenharmony_ci	<struct name="TPU_BORDER_COLOUR_TABLE_VDM" length="2">
622bf215546Sopenharmony_ci		<field name="border_colour_table_address" start="0" end="37" shift="2" type="address"/>
623bf215546Sopenharmony_ci	</struct>
624bf215546Sopenharmony_ci
625bf215546Sopenharmony_ci	<struct name="TPU_BORDER_COLOUR_TABLE_CDM" length="2">
626bf215546Sopenharmony_ci		<field name="border_colour_table_address" start="0" end="37" shift="2" type="address"/>
627bf215546Sopenharmony_ci	</struct>
628bf215546Sopenharmony_ci
629bf215546Sopenharmony_ci	<struct name="USC_PIXEL_OUTPUT_CTRL" length="1">
630bf215546Sopenharmony_ci		<field name="partition_mask" start="3" end="20" type="uint"/>
631bf215546Sopenharmony_ci		<field name="enable_4th_partition" start="2" end="2" type="bool"/>
632bf215546Sopenharmony_ci		<field name="width" start="0" end="1" type="PIXEL_WIDTH"/>
633bf215546Sopenharmony_ci	</struct>
634bf215546Sopenharmony_ci
635bf215546Sopenharmony_ci</csbgen>
636