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