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="TA">
27bf215546Sopenharmony_ci
28bf215546Sopenharmony_ci	<enum name="CLIP_MODE">
29bf215546Sopenharmony_ci		<value name="NO_FRONT_OR_REAR" value="0"/>
30bf215546Sopenharmony_ci		<value name="FRONT_REAR"       value="1"/>
31bf215546Sopenharmony_ci		<value name="FRONT_REAR_DEPTH" value="2"/>
32bf215546Sopenharmony_ci	</enum>
33bf215546Sopenharmony_ci
34bf215546Sopenharmony_ci	<enum name="CMPMODE">
35bf215546Sopenharmony_ci		<value name="NEVER"            value="0"/>
36bf215546Sopenharmony_ci		<value name="LESS"             value="1"/>
37bf215546Sopenharmony_ci		<value name="EQUAL"            value="2"/>
38bf215546Sopenharmony_ci		<value name="LESS_OR_EQUAL"    value="3"/>
39bf215546Sopenharmony_ci		<value name="GREATER"          value="4"/>
40bf215546Sopenharmony_ci		<value name="NOT_EQUAL"        value="5"/>
41bf215546Sopenharmony_ci		<value name="GREATER_OR_EQUAL" value="6"/>
42bf215546Sopenharmony_ci		<value name="ALWAYS"           value="7"/>
43bf215546Sopenharmony_ci	</enum>
44bf215546Sopenharmony_ci
45bf215546Sopenharmony_ci	<enum name="CULLMODE">
46bf215546Sopenharmony_ci		<value name="NO_CULLING" value="0"/>
47bf215546Sopenharmony_ci		<value name="CULL_CW"    value="1"/>
48bf215546Sopenharmony_ci		<value name="CULL_CCW"   value="2"/>
49bf215546Sopenharmony_ci	</enum>
50bf215546Sopenharmony_ci
51bf215546Sopenharmony_ci	<enum name="FLATSHADE">
52bf215546Sopenharmony_ci		<value name="VTX_VERTEX_0" value="1"/>
53bf215546Sopenharmony_ci		<value name="VTX_VERTEX_1" value="2"/>
54bf215546Sopenharmony_ci		<value name="VTX_VERTEX_2" value="3"/>
55bf215546Sopenharmony_ci	</enum>
56bf215546Sopenharmony_ci
57bf215546Sopenharmony_ci	<enum name="GS_OUTPUT_TOPOLOGY">
58bf215546Sopenharmony_ci		<value name="POINT_LIST" value="0"/>
59bf215546Sopenharmony_ci		<value name="LINE_STRIP" value="1"/>
60bf215546Sopenharmony_ci		<value name="TRI_STRIP"  value="2"/>
61bf215546Sopenharmony_ci	</enum>
62bf215546Sopenharmony_ci
63bf215546Sopenharmony_ci	<enum name="ISPB_STENCILOP">
64bf215546Sopenharmony_ci		<value name="KEEP"               value="0"/>
65bf215546Sopenharmony_ci		<value name="ZERO"               value="1"/>
66bf215546Sopenharmony_ci		<value name="REPLACE"            value="2"/>
67bf215546Sopenharmony_ci		<value name="INCREMENT_SATURATE" value="3"/>
68bf215546Sopenharmony_ci		<value name="DECREMENT_SATURATE" value="4"/>
69bf215546Sopenharmony_ci		<value name="INVERT"             value="5"/>
70bf215546Sopenharmony_ci		<value name="INCREMENT"          value="6"/>
71bf215546Sopenharmony_ci		<value name="DECREMENT"          value="7"/>
72bf215546Sopenharmony_ci	</enum>
73bf215546Sopenharmony_ci
74bf215546Sopenharmony_ci	<enum name="OBJTYPE">
75bf215546Sopenharmony_ci		<value name="TRIANGLE"                   value="0"/>
76bf215546Sopenharmony_ci		<value name="LINE"                       value="1"/>
77bf215546Sopenharmony_ci		<value name="SPRITE_10UV"                value="2"/>
78bf215546Sopenharmony_ci		<value name="SPRITE_UV"                  value="3"/>
79bf215546Sopenharmony_ci		<value name="SPRITE_01UV"                value="4"/>
80bf215546Sopenharmony_ci		<value name="LINE_FILLED_TRIANGLE"       value="5"/>
81bf215546Sopenharmony_ci		<value name="POINT_FILLED_TRIANGLE"      value="6"/>
82bf215546Sopenharmony_ci		<value name="TESSELLATED_OBJECT_NO_GS"   value="7"/>
83bf215546Sopenharmony_ci		<value name="TESSELLATED_OBJECT_WITH_GS" value="8"/>
84bf215546Sopenharmony_ci	</enum>
85bf215546Sopenharmony_ci
86bf215546Sopenharmony_ci	<!--
87bf215546Sopenharmony_ci		TODO: Add support for "ifs" in csbgen root element.
88bf215546Sopenharmony_ci	-->
89bf215546Sopenharmony_ci	<enum name="PASSTYPE">
90bf215546Sopenharmony_ci		<value name="OPAQUE"             value="0"/>
91bf215546Sopenharmony_ci		<value name="TRANSLUCENT"        value="1"/>
92bf215546Sopenharmony_ci		<value name="PUNCH_THROUGH"      value="2"/>
93bf215546Sopenharmony_ci		<value name="VIEWPORT_OBJECT"    value="3"/>
94bf215546Sopenharmony_ci		<value name="FAST_PUNCH_THROUGH" value="4"/>
95bf215546Sopenharmony_ci		<value name="DEPTH_FEEDBACK"     value="5"/>
96bf215546Sopenharmony_ci		<value name="ANTI_ALIASED"       value="6"/>
97bf215546Sopenharmony_ci	</enum>
98bf215546Sopenharmony_ci
99bf215546Sopenharmony_ci	<enum name="REGION_CLIP_MODE">
100bf215546Sopenharmony_ci		<value name="NONE"    value="0"/>
101bf215546Sopenharmony_ci		<value name="OUTSIDE" value="1"/>
102bf215546Sopenharmony_ci	</enum>
103bf215546Sopenharmony_ci
104bf215546Sopenharmony_ci	<struct name="STATE_HEADER" length="1">
105bf215546Sopenharmony_ci		<field name="not_final_term" start="26" end="26" type="bool"/>
106bf215546Sopenharmony_ci		<field name="pres_terminate" start="25" end="25" type="bool"/>
107bf215546Sopenharmony_ci		<field name="context_switch" start="24" end="24" type="bool"/>
108bf215546Sopenharmony_ci		<field name="pres_stream_out_program" start="23" end="23" type="bool"/>
109bf215546Sopenharmony_ci		<field name="pres_stream_out_size" start="22" end="22" type="bool"/>
110bf215546Sopenharmony_ci		<field name="pres_ppp_ctrl" start="21" end="21" type="bool"/>
111bf215546Sopenharmony_ci		<field name="pres_varying_word2" start="20" end="20" type="bool"/>
112bf215546Sopenharmony_ci		<field name="pres_varying_word1" start="19" end="19" type="bool"/>
113bf215546Sopenharmony_ci		<field name="pres_varying_word0" start="18" end="18" type="bool"/>
114bf215546Sopenharmony_ci		<field name="pres_outselects" start="17" end="17" type="bool"/>
115bf215546Sopenharmony_ci		<field name="pres_wclamp" start="16" end="16" type="bool"/>
116bf215546Sopenharmony_ci		<field name="view_port_count" start="12" end="15" type="uint"/>
117bf215546Sopenharmony_ci		<field name="pres_viewport" start="11" end="11" type="bool"/>
118bf215546Sopenharmony_ci		<field name="pres_region_clip" start="10" end="10" type="bool"/>
119bf215546Sopenharmony_ci		<field name="pres_pds_state_ptr3" start="9" end="9" type="bool"/>
120bf215546Sopenharmony_ci		<field name="pres_pds_state_ptr2" start="8" end="8" type="bool"/>
121bf215546Sopenharmony_ci		<field name="pres_pds_state_ptr1" start="7" end="7" type="bool"/>
122bf215546Sopenharmony_ci		<field name="pres_pds_state_ptr0" start="6" end="6" type="bool"/>
123bf215546Sopenharmony_ci		<field name="pres_ispctl_dbsc" start="5" end="5" type="bool"/>
124bf215546Sopenharmony_ci		<field name="pres_ispctl_bb" start="4" end="4" type="bool"/>
125bf215546Sopenharmony_ci		<field name="pres_ispctl_ba" start="3" end="3" type="bool"/>
126bf215546Sopenharmony_ci		<field name="pres_ispctl_fb" start="2" end="2" type="bool"/>
127bf215546Sopenharmony_ci		<field name="pres_ispctl_fa" start="1" end="1" type="bool"/>
128bf215546Sopenharmony_ci		<field name="pres_ispctl" start="0" end="0" type="bool"/>
129bf215546Sopenharmony_ci	</struct>
130bf215546Sopenharmony_ci
131bf215546Sopenharmony_ci	<struct name="STATE_ISPCTL" length="1">
132bf215546Sopenharmony_ci		<field name="validid" start="26" end="31" type="uint"/>
133bf215546Sopenharmony_ci		<field name="upass" start="22" end="25" type="uint"/>
134bf215546Sopenharmony_ci		<field name="tagwritedisable" start="21" end="21" type="bool"/>
135bf215546Sopenharmony_ci		<field name="ovgmtestdisable" start="20" end="20" type="bool"/>
136bf215546Sopenharmony_ci		<field name="two_sided" start="19" end="19" type="bool"/>
137bf215546Sopenharmony_ci		<field name="bpres" start="18" end="18" type="bool"/>
138bf215546Sopenharmony_ci		<field name="dbenable" start="17" end="17" type="bool"/>
139bf215546Sopenharmony_ci		<field name="scenable" start="16" end="16" type="bool"/>
140bf215546Sopenharmony_ci		<field name="vistest" start="15" end="15" type="bool"/>
141bf215546Sopenharmony_ci		<field name="visbool" start="14" end="14" type="bool"/>
142bf215546Sopenharmony_ci		<field name="visreg" start="0" end="13" type="uint"/>
143bf215546Sopenharmony_ci	</struct>
144bf215546Sopenharmony_ci
145bf215546Sopenharmony_ci	<struct name="STATE_ISPA" length="1">
146bf215546Sopenharmony_ci		<field name="objtype" start="28" end="31" type="OBJTYPE"/>
147bf215546Sopenharmony_ci		<field name="passtype" start="24" end="26" type="PASSTYPE"/>
148bf215546Sopenharmony_ci		<field name="ovgvispassmaskop" start="23" end="23" type="bool"/>
149bf215546Sopenharmony_ci		<field name="maskval" start="22" end="22" type="bool"/>
150bf215546Sopenharmony_ci		<field name="dwritedisable" start="21" end="21" type="bool"/>
151bf215546Sopenharmony_ci		<field name="dfbztestenable" start="20" end="20" type="bool"/>
152bf215546Sopenharmony_ci		<field name="dcmpmode" start="17" end="19" type="CMPMODE"/>
153bf215546Sopenharmony_ci		<field name="linefilllastpixel" start="16" end="16" type="bool"/>
154bf215546Sopenharmony_ci		<field name="pointlinewidth" start="8" end="15" type="uint">
155bf215546Sopenharmony_ci			<define name="SIZE_MAX" value="255"/>
156bf215546Sopenharmony_ci		</field>
157bf215546Sopenharmony_ci		<field name="sref" start="0" end="7" type="uint"/>
158bf215546Sopenharmony_ci	</struct>
159bf215546Sopenharmony_ci
160bf215546Sopenharmony_ci	<struct name="STATE_ISPB" length="1">
161bf215546Sopenharmony_ci		<field name="scmpmode" start="25" end="27" type="CMPMODE"/>
162bf215546Sopenharmony_ci		<field name="sop1" start="22" end="24" type="ISPB_STENCILOP"/>
163bf215546Sopenharmony_ci		<field name="sop2" start="19" end="21" type="ISPB_STENCILOP"/>
164bf215546Sopenharmony_ci		<field name="sop3" start="16" end="18" type="ISPB_STENCILOP"/>
165bf215546Sopenharmony_ci		<field name="scmpmask" start="8" end="15" type="uint"/>
166bf215546Sopenharmony_ci		<field name="swmask" start="0" end="7" type="uint"/>
167bf215546Sopenharmony_ci	</struct>
168bf215546Sopenharmony_ci
169bf215546Sopenharmony_ci	<struct name="REGION_CLIP0" length="1">
170bf215546Sopenharmony_ci		<field name="mode" start="31" end="31" type="REGION_CLIP_MODE"/>
171bf215546Sopenharmony_ci		<field name="left" start="16" end="24" type="uint"/>
172bf215546Sopenharmony_ci		<field name="right" start="0" end="8" type="uint"/>
173bf215546Sopenharmony_ci	</struct>
174bf215546Sopenharmony_ci
175bf215546Sopenharmony_ci	<struct name="REGION_CLIP1" length="1">
176bf215546Sopenharmony_ci		<field name="top" start="16" end="24" type="uint"/>
177bf215546Sopenharmony_ci		<field name="bottom" start="0" end="8" type="uint"/>
178bf215546Sopenharmony_ci	</struct>
179bf215546Sopenharmony_ci
180bf215546Sopenharmony_ci	<struct name="STATE_ISPDBSC" length="1">
181bf215546Sopenharmony_ci		<field name="dbindex" start="16" end="31" type="uint"/>
182bf215546Sopenharmony_ci		<field name="scindex" start="0" end="15" type="uint"/>
183bf215546Sopenharmony_ci	</struct>
184bf215546Sopenharmony_ci
185bf215546Sopenharmony_ci	<struct name="OUTPUT_SEL" length="1">
186bf215546Sopenharmony_ci		<field name="vtxsize" start="24" end="31" type="uint"/>
187bf215546Sopenharmony_ci		<field name="tsp_unclamped_z_pres" start="21" end="21" type="bool"/>
188bf215546Sopenharmony_ci		<field name="render_tgt_pres" start="20" end="20" type="bool"/>
189bf215546Sopenharmony_ci		<field name="vpt_tgt_pres" start="19" end="19" type="bool"/>
190bf215546Sopenharmony_ci		<field name="psprite_size_pres" start="18" end="18" type="bool"/>
191bf215546Sopenharmony_ci		<field name="isp_position_depth_clamp_z" start="17" end="17" type="bool"/>
192bf215546Sopenharmony_ci		<field name="rhw_pres" start="16" end="16" type="bool"/>
193bf215546Sopenharmony_ci		<field name="cullplane7" start="15" end="15" type="bool"/>
194bf215546Sopenharmony_ci		<field name="cullplane6" start="14" end="14" type="bool"/>
195bf215546Sopenharmony_ci		<field name="cullplane5" start="13" end="13" type="bool"/>
196bf215546Sopenharmony_ci		<field name="cullplane4" start="12" end="12" type="bool"/>
197bf215546Sopenharmony_ci		<field name="cullplane3" start="11" end="11" type="bool"/>
198bf215546Sopenharmony_ci		<field name="cullplane2" start="10" end="10" type="bool"/>
199bf215546Sopenharmony_ci		<field name="cullplane1" start="9" end="9" type="bool"/>
200bf215546Sopenharmony_ci		<field name="cullplane0" start="8" end="8" type="bool"/>
201bf215546Sopenharmony_ci		<field name="plane7" start="7" end="7" type="bool"/>
202bf215546Sopenharmony_ci		<field name="plane6" start="6" end="6" type="bool"/>
203bf215546Sopenharmony_ci		<field name="plane5" start="5" end="5" type="bool"/>
204bf215546Sopenharmony_ci		<field name="plane4" start="4" end="4" type="bool"/>
205bf215546Sopenharmony_ci		<field name="plane3" start="3" end="3" type="bool"/>
206bf215546Sopenharmony_ci		<field name="plane2" start="2" end="2" type="bool"/>
207bf215546Sopenharmony_ci		<field name="plane1" start="1" end="1" type="bool"/>
208bf215546Sopenharmony_ci		<field name="plane0" start="0" end="0" type="bool"/>
209bf215546Sopenharmony_ci	</struct>
210bf215546Sopenharmony_ci
211bf215546Sopenharmony_ci	<struct name="STATE_VARYING0" length="1">
212bf215546Sopenharmony_ci		<condition type="if" check="TEXTURE_WRAP_VARYING"/>
213bf215546Sopenharmony_ci			<field name="f32_linear_wrap" start="24" end="31" type="uint"/>
214bf215546Sopenharmony_ci		<condition type="endif" check="TEXTURE_WRAP_VARYING"/>
215bf215546Sopenharmony_ci		<field name="f32_npc" start="16" end="23" type="uint"/>
216bf215546Sopenharmony_ci		<field name="f32_flat" start="8" end="15" type="uint"/>
217bf215546Sopenharmony_ci		<field name="f32_linear" start="0" end="7" type="uint"/>
218bf215546Sopenharmony_ci	</struct>
219bf215546Sopenharmony_ci
220bf215546Sopenharmony_ci	<struct name="STATE_VARYING1" length="1">
221bf215546Sopenharmony_ci		<field name="f16_npc" start="24" end="31" type="uint"/>
222bf215546Sopenharmony_ci		<field name="f16_flat" start="16" end="23" type="uint"/>
223bf215546Sopenharmony_ci		<field name="f16_linear" start="8" end="15" type="uint"/>
224bf215546Sopenharmony_ci		<condition type="if" check="TEXTURE_WRAP_VARYING"/>
225bf215546Sopenharmony_ci			<field name="f32_npc_wrap" start="0" end=" 7" type="uint"/>
226bf215546Sopenharmony_ci		<condition type="endif" check="TEXTURE_WRAP_VARYING"/>
227bf215546Sopenharmony_ci	</struct>
228bf215546Sopenharmony_ci
229bf215546Sopenharmony_ci	<struct name="STATE_TERMINATE0" length="1">
230bf215546Sopenharmony_ci		<field name="clip_right" start="18" end="26" type="uint">
231bf215546Sopenharmony_ci			<define name="BLOCK_SIZE_IN_PIXELS" value="32"/>
232bf215546Sopenharmony_ci		</field>
233bf215546Sopenharmony_ci		<field name="clip_top" start="9" end="17" type="uint">
234bf215546Sopenharmony_ci			<define name="BLOCK_SIZE_IN_PIXELS" value="32"/>
235bf215546Sopenharmony_ci		</field>
236bf215546Sopenharmony_ci		<field name="clip_bottom" start="0" end="8" type="uint">
237bf215546Sopenharmony_ci			<define name="BLOCK_SIZE_IN_PIXELS" value="32"/>
238bf215546Sopenharmony_ci		</field>
239bf215546Sopenharmony_ci	</struct>
240bf215546Sopenharmony_ci
241bf215546Sopenharmony_ci	<struct name="STATE_TERMINATE1" length="1">
242bf215546Sopenharmony_ci		<field name="clip_left" start="23" end="31" type="uint">
243bf215546Sopenharmony_ci			<define name="BLOCK_SIZE_IN_PIXELS" value="32"/>
244bf215546Sopenharmony_ci		</field>
245bf215546Sopenharmony_ci		<field name="render_target" start="0" end="10" type="uint"/>
246bf215546Sopenharmony_ci	</struct>
247bf215546Sopenharmony_ci
248bf215546Sopenharmony_ci	<struct name="STATE_STREAM_OUT1" length="1">
249bf215546Sopenharmony_ci		<field name="sync" start="10" end="10" type="bool"/>
250bf215546Sopenharmony_ci		<field name="pds_data_size" start="4" end="9" type="uint">
251bf215546Sopenharmony_ci			<define name="UNIT_SIZE" value="16"/>
252bf215546Sopenharmony_ci		</field>
253bf215546Sopenharmony_ci		<field name="pds_temp_size" start="0" end="3" type="uint">
254bf215546Sopenharmony_ci			<define name="UNIT_SIZE" value="16"/>
255bf215546Sopenharmony_ci		</field>
256bf215546Sopenharmony_ci	</struct>
257bf215546Sopenharmony_ci
258bf215546Sopenharmony_ci	<struct name="STATE_STREAM_OUT2" length="1">
259bf215546Sopenharmony_ci		<!-- This is an offset actually. Note for when we auto-generate the xmls. -->
260bf215546Sopenharmony_ci		<field name="pds_data_addr" start="4" end="31" shift="4" type="address"/>
261bf215546Sopenharmony_ci	</struct>
262bf215546Sopenharmony_ci
263bf215546Sopenharmony_ci	<struct name="STATE_PDS_SHADERBASE" length="1">
264bf215546Sopenharmony_ci		<!-- This is an offset actually. Note for when we auto-generate the xmls. -->
265bf215546Sopenharmony_ci		<field name="addr" start="4" end="31" shift="4" type="address"/>
266bf215546Sopenharmony_ci	</struct>
267bf215546Sopenharmony_ci
268bf215546Sopenharmony_ci	<struct name="STATE_PDS_TEXUNICODEBASE" length="1">
269bf215546Sopenharmony_ci		<field name="addr" start="4" end="31" shift="4" type="address"/>
270bf215546Sopenharmony_ci	</struct>
271bf215546Sopenharmony_ci
272bf215546Sopenharmony_ci	<struct name="STATE_PDS_VARYINGBASE" length="1">
273bf215546Sopenharmony_ci		<!-- This is an offset actually. Note for when we auto-generate the xmls. -->
274bf215546Sopenharmony_ci		<field name="addr" start="4" end="31" shift="4" type="address"/>
275bf215546Sopenharmony_ci	</struct>
276bf215546Sopenharmony_ci
277bf215546Sopenharmony_ci	<struct name="STATE_PDS_TEXTUREDATABASE" length="1">
278bf215546Sopenharmony_ci		<field name="addr" start="4" end="31" shift="4" type="address"/>
279bf215546Sopenharmony_ci	</struct>
280bf215546Sopenharmony_ci
281bf215546Sopenharmony_ci	<struct name="STATE_PDS_UNIFORMDATABASE" length="1">
282bf215546Sopenharmony_ci		<!-- This is an offset actually. Note for when we auto-generate the xmls. -->
283bf215546Sopenharmony_ci		<field name="addr" start="4" end="31" shift="4" type="address"/>
284bf215546Sopenharmony_ci	</struct>
285bf215546Sopenharmony_ci
286bf215546Sopenharmony_ci	<struct name="STATE_PDS_SIZEINFO1" length="1">
287bf215546Sopenharmony_ci		<field name="pds_uniformsize" start="23" end="31" type="uint">
288bf215546Sopenharmony_ci			<define name="UNIT_SIZE" value="4"/>
289bf215546Sopenharmony_ci		</field>
290bf215546Sopenharmony_ci		<field name="pds_texturestatesize" start="16" end="22" type="uint">
291bf215546Sopenharmony_ci			<define name="UNIT_SIZE" value="4"/>
292bf215546Sopenharmony_ci		</field>
293bf215546Sopenharmony_ci		<field name="pds_varyingsize" start="10" end="15" type="uint">
294bf215546Sopenharmony_ci			<define name="UNIT_SIZE" value="4"/>
295bf215546Sopenharmony_ci		</field>
296bf215546Sopenharmony_ci		<field name="usc_varyingsize" start="4" end="9" type="uint">
297bf215546Sopenharmony_ci			<define name="UNIT_SIZE" value="16"/>
298bf215546Sopenharmony_ci			<define name="MAX_SIZE" value="63"/>
299bf215546Sopenharmony_ci		</field>
300bf215546Sopenharmony_ci		<field name="pds_tempsize" start="0" end="3" type="uint">
301bf215546Sopenharmony_ci			<define name="UNIT_SIZE" value="4"/>
302bf215546Sopenharmony_ci		</field>
303bf215546Sopenharmony_ci	</struct>
304bf215546Sopenharmony_ci
305bf215546Sopenharmony_ci	<struct name="STATE_PDS_SIZEINFO2" length="1">
306bf215546Sopenharmony_ci		<field name="usc_sharedsize" start="23" end="31" type="uint">
307bf215546Sopenharmony_ci			<define name="UNIT_SIZE" value="16"/>
308bf215546Sopenharmony_ci		</field>
309bf215546Sopenharmony_ci		<field name="pds_tri_merge_disable" start="14" end="14" type="bool"/>
310bf215546Sopenharmony_ci		<field name="pds_batchnum" start="0" end="13" type="uint"/>
311bf215546Sopenharmony_ci	</struct>
312bf215546Sopenharmony_ci
313bf215546Sopenharmony_ci	<struct name="STATE_PPP_CTRL" length="1">
314bf215546Sopenharmony_ci		<field name="trp" start="16" end="16" type="bool"/>
315bf215546Sopenharmony_ci		<field name="prim_msaa" start="15" end="15" type="bool"/>
316bf215546Sopenharmony_ci		<field name="gs_output_topology" start="13" end="14" type="GS_OUTPUT_TOPOLOGY"/>
317bf215546Sopenharmony_ci		<field name="pres_prim_id" start="12" end="12" type="bool"/>
318bf215546Sopenharmony_ci		<field name="clip_mode" start="10" end="11" type="CLIP_MODE"/>
319bf215546Sopenharmony_ci		<field name="drawclippededges" start="9" end="9" type="bool"/>
320bf215546Sopenharmony_ci		<field name="flatshade_vtx" start="7" end="8" type="FLATSHADE"/>
321bf215546Sopenharmony_ci		<field name="pretransform" start="6" end="6" type="bool"/>
322bf215546Sopenharmony_ci		<field name="wclampen" start="5" end="5" type="bool"/>
323bf215546Sopenharmony_ci		<field name="wbuffen" start="4" end="4" type="bool"/>
324bf215546Sopenharmony_ci		<field name="resetbbox" start="3" end="3" type="bool"/>
325bf215546Sopenharmony_ci		<field name="updatebbox" start="2" end="2" type="bool"/>
326bf215546Sopenharmony_ci		<field name="cullmode" start="0" end="1" type="CULLMODE"/>
327bf215546Sopenharmony_ci	</struct>
328bf215546Sopenharmony_ci
329bf215546Sopenharmony_ci</csbgen>
330