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 > 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 > 0"/> 276bf215546Sopenharmony_ci <condition type="if" check="NUM_TA > 0"/> 277bf215546Sopenharmony_ci <field name="roguexe_max_num_vdm_tasks" start="8" end="15" type="uint"/> 278bf215546Sopenharmony_ci <condition type="endif" check="NUM_TA > 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 && ISP_SAMPLES_PER_PIXEL > 2"/> 352bf215546Sopenharmony_ci <field name="y2" start="3" end="3" type="bool"/> 353bf215546Sopenharmony_ci <condition type="endif" check="SIMPLE_INTERNAL_PARAMETER_FORMAT && ISP_SAMPLES_PER_PIXEL > 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 > 0"/> 601bf215546Sopenharmony_ci <field name="mcu_pds_l0_off" start="8" end="8" type="bool"/> 602bf215546Sopenharmony_ci <condition type="endif" check="PDSL0SIZE > 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