mirror of https://gitlab.freedesktop.org/mesa/mesa
636 lines
25 KiB
XML
636 lines
25 KiB
XML
<?xml version="1.0" ?>
|
|
|
|
<!--
|
|
Copyright © 2022 Imagination Technologies Ltd.
|
|
|
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
of this software and associated documentation files (the "Software"), to deal
|
|
in the Software without restriction, including without limitation the rights
|
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
copies of the Software, and to permit persons to whom the Software is
|
|
furnished to do so, subject to the following conditions:
|
|
|
|
The above copyright notice and this permission notice (including the next
|
|
paragraph) shall be included in all copies or substantial portions of the
|
|
Software.
|
|
|
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
SOFTWARE.
|
|
-->
|
|
|
|
<csbgen name="ROGUE" prefix="CR">
|
|
|
|
<define name="PM_VHEAP_TABLE_SIZE" value="0x180" />
|
|
|
|
<enum name="COMP_IADDR_TYPE">
|
|
<value name="INDIRECT_1TILE" value="0"/>
|
|
<value name="INDIRECT_4TILE" value="1"/>
|
|
</enum>
|
|
|
|
<enum name="COMPRESS_SIZE">
|
|
<value name="BLOCK_8X8" value="0"/>
|
|
<value name="BLOCK_16X4" value="1"/>
|
|
</enum>
|
|
|
|
<enum name="DIR_TYPE">
|
|
<value name="TL2BR" value="0"/>
|
|
<value name="TR2BL" value="1"/>
|
|
<value name="BL2TR" value="2"/>
|
|
<value name="BR2TL" value="3"/>
|
|
</enum>
|
|
|
|
<enum name="ISP_AA_MODE_TYPE">
|
|
<value name="AA_NONE" value="0"/>
|
|
<value name="AA_2X" value="1"/>
|
|
<value name="AA_4X" value="2"/>
|
|
<value name="AA_8X" value="3"/>
|
|
</enum>
|
|
|
|
<enum name="ISP_RENDER_MODE_TYPE">
|
|
<value name="NORM" value="0"/>
|
|
<value name="FAST_2D" value="2"/>
|
|
<value name="FAST_SCALE" value="3"/>
|
|
</enum>
|
|
|
|
<enum name="MEMLAYOUT">
|
|
<value name="LINEAR" value="0"/>
|
|
<value name="TWIDDLE_2D" value="1"/>
|
|
<value name="TWIDDLE_3D" value="2"/>
|
|
<value name="TILED" value="3"/>
|
|
</enum>
|
|
|
|
<enum name="MODE_TYPE">
|
|
<value name="DX9" value="0"/>
|
|
<value name="DX10" value="1"/>
|
|
<value name="OGL" value="2"/>
|
|
</enum>
|
|
|
|
<enum name="PIPE_NUM">
|
|
<value name="PIPE_ONE" value="0"/>
|
|
<value name="PIPE_TWO" value="1"/>
|
|
<value name="PIPE_THREE" value="2"/>
|
|
<value name="PIPE_FOUR" value="3"/>
|
|
<value name="PIPE_FIVE" value="4"/>
|
|
<value name="PIPE_SIX" value="5"/>
|
|
<value name="PIPE_SEVEN" value="6"/>
|
|
<value name="PIPE_EIGHT" value="7"/>
|
|
<value name="PIPE_NINE" value="8"/>
|
|
<value name="PIPE_TEN" value="9"/>
|
|
<value name="PIPE_ELEVEN" value="10"/>
|
|
<value name="PIPE_TWELVE" value="11"/>
|
|
<value name="PIPE_THIRTEEN" value="12"/>
|
|
<value name="PIPE_FOURTEEN" value="13"/>
|
|
<value name="PIPE_FIFTEEN" value="14"/>
|
|
<value name="PIPE_SIXTEEN" value="15"/>
|
|
</enum>
|
|
|
|
<enum name="PIXEL_WIDTH">
|
|
<value name="2REGISTERS" value="0"/>
|
|
<value name="4REGISTERS" value="1"/>
|
|
<value name="8REGISTERS" value="2"/>
|
|
<value name="1REGISTER" value="3"/>
|
|
</enum>
|
|
|
|
<enum name="ROTATION_TYPE">
|
|
<value name="0_DEG" value="0"/>
|
|
<value name="90_DEG" value="1"/>
|
|
<value name="180_DEG" value="2"/>
|
|
<value name="270_DEG" value="3"/>
|
|
</enum>
|
|
|
|
<enum name="SIZE">
|
|
<value name="1_PIXEL" value="0"/>
|
|
<value name="2_PIXEL" value="1"/>
|
|
<value name="4_PIXEL" value="2"/>
|
|
<value name="8_PIXEL" value="3"/>
|
|
<value name="16_PIXEL" value="4"/>
|
|
<value name="32_PIXEL" value="5"/>
|
|
<value name="64_PIXEL" value="6"/>
|
|
<value name="128_PIXEL" value="7"/>
|
|
<value name="256_PIXEL" value="8"/>
|
|
<value name="512_PIXEL" value="9"/>
|
|
<value name="1K_PIXEL" value="10"/>
|
|
<value name="2K_PIXEL" value="11"/>
|
|
<value name="4K_PIXEL" value="12"/>
|
|
<value name="8K_PIXEL" value="13"/>
|
|
<value name="16K_PIXEL" value="14"/>
|
|
</enum>
|
|
|
|
<enum name="SWIZ">
|
|
<value name="SOURCE_CHAN0" value="0"/>
|
|
<value name="SOURCE_CHAN1" value="1"/>
|
|
<value name="SOURCE_CHAN2" value="2"/>
|
|
<value name="SOURCE_CHAN3" value="3"/>
|
|
<value name="ONE" value="4"/>
|
|
<value name="ZERO" value="5"/>
|
|
</enum>
|
|
|
|
<enum name="TFBC_LOSSY">
|
|
<value name="LOSSLESS" value="0"/>
|
|
<value name="LOSSY_75" value="1"/>
|
|
<value name="LOSSY_50" value="2"/>
|
|
<value name="LOSSY_25" value="3"/>
|
|
</enum>
|
|
|
|
<enum name="TWOCOMP_GAMMA">
|
|
<value name="GAMMA_BOTTOM_CHANNEL" value="0"/>
|
|
<value name="GAMMA_BOTH_CHANNELS" value="1"/>
|
|
</enum>
|
|
|
|
<enum name="ZLOADFORMAT_TYPE">
|
|
<value name="F32Z" value="0"/>
|
|
<value name="24BITINT" value="1"/>
|
|
<value name="16BITINT" value="2"/>
|
|
<value name="F64Z" value="3"/>
|
|
</enum>
|
|
|
|
<enum name="ZSTOREFORMAT_TYPE">
|
|
<value name="F32Z" value="0"/>
|
|
<value name="24BITINT" value="1"/>
|
|
<value name="16BITINT" value="2"/>
|
|
<value name="F64Z" value="3"/>
|
|
</enum>
|
|
|
|
<struct name="PM_MTILE_ARRAY" length="2">
|
|
<field name="base_addr" start="4" end="39" shift="4" type="address"/>
|
|
</struct>
|
|
|
|
<struct name="PM_VHEAP_TABLE" length="2">
|
|
<field name="base_addr" start="4" end="39" shift="4" type="address"/>
|
|
</struct>
|
|
|
|
<struct name="PM_MLIST0_BASE" length="2">
|
|
<field name="addr" start="4" end="39" shift="4" type="address"/>
|
|
</struct>
|
|
|
|
<struct name="VDM_CTRL_STREAM_BASE" length="2">
|
|
<field name="addr" start="2" end="39" shift="2" type="address"/>
|
|
</struct>
|
|
|
|
<struct name="VDM_CALL_STACK_POINTER" length="2">
|
|
<field name="addr" start="3" end="39" shift="3" type="address"/>
|
|
</struct>
|
|
|
|
<struct name="VDM_CONTEXT_STATE_BASE" length="2">
|
|
<field name="addr" start="4" end="39" shift="4" type="address"/>
|
|
</struct>
|
|
|
|
<struct name="VDM_CONTEXT_STORE_TASK0" length="2">
|
|
<field name="pds_state1" start="32" end="63" type="uint"/>
|
|
<field name="pds_state0" start="0" end="31" type="uint"/>
|
|
</struct>
|
|
|
|
<struct name="VDM_CONTEXT_STORE_TASK1" length="1">
|
|
<field name="pds_state2" start="0" end="31" type="uint"/>
|
|
</struct>
|
|
|
|
<struct name="VDM_CONTEXT_STORE_TASK2" length="2">
|
|
<field name="stream_out2" start="32" end="63" type="uint"/>
|
|
<field name="stream_out1" start="0" end="31" type="uint"/>
|
|
</struct>
|
|
|
|
<struct name="VDM_CONTEXT_RESUME_TASK0" length="2">
|
|
<field name="pds_state1" start="32" end="63" type="uint"/>
|
|
<field name="pds_state0" start="0" end="31" type="uint"/>
|
|
</struct>
|
|
|
|
<struct name="VDM_CONTEXT_RESUME_TASK1" length="1">
|
|
<field name="pds_state2" start="0" end="31" type="uint"/>
|
|
</struct>
|
|
|
|
<struct name="VDM_CONTEXT_RESUME_TASK2" length="2">
|
|
<field name="stream_out2" start="32" end="63" type="uint"/>
|
|
<field name="stream_out1" start="0" end="31" type="uint"/>
|
|
</struct>
|
|
|
|
<struct name="CDM_CONTEXT_STATE_BASE" length="2">
|
|
<field name="addr" start="4" end="39" shift="4" type="address"/>
|
|
</struct>
|
|
|
|
<struct name="CDM_CONTEXT_PDS0" length="2">
|
|
<field name="data_addr" start="36" end="63" shift="4" type="address"/>
|
|
<field name="code_addr" start="4" end="31" shift="4" type="address"/>
|
|
</struct>
|
|
|
|
<struct name="CDM_CTRL_STREAM_BASE" length="2">
|
|
<field name="addr" start="2" end="39" shift="2" type="address"/>
|
|
</struct>
|
|
|
|
<struct name="CDM_CONTEXT_PDS1" length="1">
|
|
<field name="pds_seq_dep" start="29" end="29" type="bool"/>
|
|
<field name="usc_seq_dep" start="28" end="28" type="bool"/>
|
|
<!-- false=All, true=Any -->
|
|
<field name="target" start="27" end="27" type="bool"/>
|
|
<field name="unified_size" start="21" end="26" type="uint"/>
|
|
<field name="common_shared" start="20" end="20" type="bool"/>
|
|
<field name="common_size" start="11" end="19" type="uint">
|
|
<define name="UNIT_SIZE" value="64"/>
|
|
</field>
|
|
<field name="temp_size" start="7" end="10" type="uint"/>
|
|
<field name="data_size" start="1" end="6" type="uint">
|
|
<define name="UNIT_SIZE" value="16"/>
|
|
</field>
|
|
<field name="fence" start="0" end="0" type="bool"/>
|
|
</struct>
|
|
|
|
<struct name="CDM_TERMINATE_PDS" length="2">
|
|
<field name="data_addr" start="36" end="63" shift="4" type="address"/>
|
|
<field name="code_addr" start="4" end="31" shift="4" type="address"/>
|
|
</struct>
|
|
|
|
<struct name="CDM_TERMINATE_PDS1" length="1">
|
|
<field name="pds_seq_dep" start="29" end="29" type="bool"/>
|
|
<field name="usc_seq_dep" start="28" end="28" type="bool"/>
|
|
<field name="target" start="27" end="27" type="bool"/>
|
|
<field name="unified_size" start="21" end="26" type="uint"/>
|
|
<field name="common_shared" start="20" end="20" type="bool"/>
|
|
<field name="common_size" start="11" end="19" type="uint"/>
|
|
<field name="temp_size" start="7" end="10" type="uint"/>
|
|
<field name="data_size" start="1" end="6" type="uint"/>
|
|
<field name="fence" start="0" end="0" type="bool"/>
|
|
</struct>
|
|
|
|
<struct name="CDM_CONTEXT_LOAD_PDS0" length="2">
|
|
<field name="data_addr" start="36" end="63" shift="4" type="address"/>
|
|
<field name="code_addr" start="4" end="31" shift="4" type="address"/>
|
|
</struct>
|
|
|
|
<struct name="COMPUTE_CLUSTER" length="1">
|
|
<field name="mask" start="0" end="31" type="uint"/>
|
|
</struct>
|
|
|
|
<struct name="PDS_CTRL" length="2">
|
|
<field name="sm_overlap_enable" start="55" end="55" type="bool"/>
|
|
<condition type="if" check="ROGUEXE"/>
|
|
<condition type="if" check="COMPUTE"/>
|
|
<field name="roguexe_max_num_cdm_tasks" start="24" end="31" type="uint"/>
|
|
<condition type="endif" check="COMPUTE"/>
|
|
<condition type="if" check="NUM_RASTER_PIPES > 0"/>
|
|
<field name="roguexe_max_num_pdm_tasks" start="16" end="23" type="uint"/>
|
|
<condition type="endif" check="NUM_RASTER_PIPES > 0"/>
|
|
<condition type="if" check="NUM_TA > 0"/>
|
|
<field name="roguexe_max_num_vdm_tasks" start="8" end="15" type="uint"/>
|
|
<condition type="endif" check="NUM_TA > 0"/>
|
|
<condition type="else" check="ROGUEXE"/>
|
|
<condition type="if" check="COMPUTE"/>
|
|
<field name="max_num_cdm_tasks" start="24" end="30" type="uint"/>
|
|
<condition type="endif" check="COMPUTE"/>
|
|
<field name="max_num_pdm_tasks" start="16" end="22" type="uint"/>
|
|
<field name="max_num_vdm_tasks" start="8" end="14" type="uint"/>
|
|
<condition type="endif" check="ROGUEXE"/>
|
|
</struct>
|
|
|
|
<struct name="EVENT_PIXEL_PDS_CODE" length="1">
|
|
<field name="addr" start="4" end="31" shift="4" type="address"/>
|
|
</struct>
|
|
|
|
<struct name="EVENT_PIXEL_PDS_DATA" length="1">
|
|
<!-- This is an offset actually. Note for when we auto-generate the xmls. -->
|
|
<field name="addr" start="4" end="31" shift="4" type="address"/>
|
|
</struct>
|
|
|
|
<struct name="EVENT_PIXEL_PDS_INFO" length="1">
|
|
<field name="usc_sr_size" start="9" end="14" type="uint">
|
|
<define name="UNIT_SIZE" value="16"/>
|
|
</field>
|
|
<field name="temp_stride" start="5" end="8" type="uint">
|
|
<define name="UNIT_SIZE" value="4"/>
|
|
</field>
|
|
<field name="const_size" start="0" end="4" type="uint">
|
|
<define name="UNIT_SIZE" value="4"/>
|
|
</field>
|
|
</struct>
|
|
|
|
<struct name="PDS_BGRND0_BASE" length="2">
|
|
<!-- This is an offset actually. Note for when we auto-generate the xmls. -->
|
|
<field name="texunicode_addr" start="36" end="63" shift="4" type="address"/>
|
|
<!-- This is an offset actually. Note for when we auto-generate the xmls. -->
|
|
<field name="shader_addr" start="4" end="31" shift="4" type="address"/>
|
|
</struct>
|
|
|
|
<struct name="PDS_BGRND1_BASE" length="2">
|
|
<!-- This is an offset actually. Note for when we auto-generate the xmls. -->
|
|
<field name="texturedata_addr" start="36" end="63" shift="4" type="address"/>
|
|
<!-- Unused in the Vulkan driver. -->
|
|
<field name="varying_addr" start="4" end="31" shift="4" type="address"/>
|
|
</struct>
|
|
|
|
<struct name="PDS_BGRND2_BASE" length="2">
|
|
<!-- This is an offset actually. Note for when we auto-generate the xmls. -->
|
|
<field name="uniformdata_addr" start="4" end="31" shift="4" type="address"/>
|
|
</struct>
|
|
|
|
<struct name="PDS_BGRND3_SIZEINFO" length="2">
|
|
<field name="usc_sharedsize" start="55" end="63" type="uint">
|
|
<define name="UNIT_SIZE" value="16"/>
|
|
</field>
|
|
<field name="pds_batchnum" start="32" end="45" type="uint"/>
|
|
<field name="pds_uniformsize" start="23" end="31" type="uint">
|
|
<define name="UNIT_SIZE" value="4"/>
|
|
</field>
|
|
<field name="pds_texturestatesize" start="16" end="22" type="uint">
|
|
<define name="UNIT_SIZE" value="4"/>
|
|
</field>
|
|
<field name="pds_varyingsize" start="10" end="15" type="uint">
|
|
<define name="UNIT_SIZE" value="4"/>
|
|
</field>
|
|
<field name="usc_varyingsize" start="4" end="9" type="uint">
|
|
<define name="UNIT_SIZE" value="16"/>
|
|
</field>
|
|
<field name="pds_tempsize" start="0" end="3" type="uint">
|
|
<define name="UNIT_SIZE" value="4"/>
|
|
</field>
|
|
</struct>
|
|
|
|
<struct name="TE_AA" length="1">
|
|
<condition type="if" check="SIMPLE_INTERNAL_PARAMETER_FORMAT && ISP_SAMPLES_PER_PIXEL > 2"/>
|
|
<field name="y2" start="3" end="3" type="bool"/>
|
|
<condition type="endif" check="SIMPLE_INTERNAL_PARAMETER_FORMAT && ISP_SAMPLES_PER_PIXEL > 2"/>
|
|
<field name="y" start="2" end="2" type="bool"/>
|
|
<field name="x" start="1" end="1" type="bool"/>
|
|
<field name="x2" start="0" end="0" type="bool"/>
|
|
</struct>
|
|
|
|
<struct name="TE_MTILE1" length="1">
|
|
<field name="x1" start="18" end="26" type="uint"/>
|
|
<field name="x2" start="9" end="17" type="uint"/>
|
|
<field name="x3" start="0" end="8" type="uint"/>
|
|
</struct>
|
|
|
|
<struct name="TE_MTILE2" length="1">
|
|
<field name="y1" start="18" end="26" type="uint"/>
|
|
<field name="y2" start="9" end="17" type="uint"/>
|
|
<field name="y3" start="0" end="8" type="uint"/>
|
|
</struct>
|
|
|
|
<struct name="TE_SCREEN" length="1">
|
|
<field name="ymax" start="12" end="20" type="uint"/>
|
|
<field name="xmax" start="0" end="8" type="uint"/>
|
|
</struct>
|
|
|
|
<struct name="TE_PSG" length="1">
|
|
<condition type="if" check="ROGUEXE"/>
|
|
<condition type="if" check="TILE_REGION_PROTECTION"/>
|
|
<field name="force_protect" start="22" end="22" type="uint"/>
|
|
<condition type="endif" check="TILE_REGION_PROTECTION"/>
|
|
<field name="cs_size" start="21" end="21" type="uint"/>
|
|
<field name="enable_pwr_gate_state" start="20" end="20" type="bool"/>
|
|
<condition type="endif" check="ROGUEXE"/>
|
|
<field name="enable_context_state_restore" start="19" end="19" type="bool"/>
|
|
<field name="zonlyrender" start="18" end="18" type="bool"/>
|
|
<field name="completeonterminate" start="17" end="17" type="bool"/>
|
|
<field name="cache_bypass" start="14" end="14" type="bool"/>
|
|
<field name="forcenewstate" start="13" end="13" type="bool"/>
|
|
<field name="region_stride" start="0" end="10" type="uint">
|
|
<define name="UNIT_SIZE" value="4096"/>
|
|
</field>
|
|
</struct>
|
|
|
|
<!-- FIXME: This is only a partial definition as (at the time of writing)
|
|
csbgen doesn't support multiple address fields within structure.
|
|
-->
|
|
<!-- FIXME: When csbgen supports conditional structs, make this
|
|
conditional on NUM_TA > 0.
|
|
-->
|
|
<struct name="TE_PSGREGION_ADDR" length="2">
|
|
<field name="base" start="6" end="33" shift="6" type="address"/>
|
|
</struct>
|
|
|
|
<!-- FIXME: This is only a partial definition as (at the time of writing)
|
|
csbgen doesn't support multiple address fields within structure.
|
|
-->
|
|
<struct name="TE_TPC_ADDR" length="2">
|
|
<field name="base" start="6" end="33" shift="6" type="address"/>
|
|
</struct>
|
|
|
|
<struct name="PPP_MULTISAMPLECTL" length="2">
|
|
<condition type="if" check="MAX_MULTISAMPLE == 8"/>
|
|
<field name="msaa_y7" start="60" end="63" type="uint"/>
|
|
<field name="msaa_x7" start="56" end="59" type="uint"/>
|
|
<field name="msaa_y6" start="52" end="55" type="uint"/>
|
|
<field name="msaa_x6" start="48" end="51" type="uint"/>
|
|
<field name="msaa_y5" start="44" end="47" type="uint"/>
|
|
<field name="msaa_x5" start="40" end="43" type="uint"/>
|
|
<field name="msaa_y4" start="36" end="39" type="uint"/>
|
|
<field name="msaa_x4" start="32" end="35" type="uint"/>
|
|
<condition type="endif" check="MAX_MULTISAMPLE == 8"/>
|
|
<field name="msaa_y3" start="28" end="31" type="uint"/>
|
|
<field name="msaa_x3" start="24" end="27" type="uint"/>
|
|
<field name="msaa_y2" start="20" end="23" type="uint"/>
|
|
<field name="msaa_x2" start="16" end="19" type="uint"/>
|
|
<field name="msaa_y1" start="12" end="15" type="uint"/>
|
|
<field name="msaa_x1" start="8" end="11" type="uint"/>
|
|
<field name="msaa_y0" start="4" end="7" type="uint"/>
|
|
<field name="msaa_x0" start="0" end="3" type="uint"/>
|
|
</struct>
|
|
|
|
<struct name="PPP_CTRL" length="1">
|
|
<field name="vpt_scissor" start="12" end="12" type="bool"/>
|
|
<field name="flush_mode" start="11" end="11" type="uint"/>
|
|
<field name="bfcull_restrict_clip" start="10" end="10" type="bool"/>
|
|
<field name="fixed_point_format" start="9" end="9" type="uint"/>
|
|
<field name="default_point_size" start="8" end="8" type="bool"/>
|
|
<field name="bfcull1_disable" start="7" end="7" type="bool"/>
|
|
<field name="bfcull2_disable" start="6" end="6" type="bool"/>
|
|
<field name="fccull_disable" start="5" end="5" type="bool"/>
|
|
<field name="oscull_disable" start="4" end="4" type="bool"/>
|
|
<field name="socull_disable" start="2" end="2" type="bool"/>
|
|
<field name="wclampen" start="1" end="1" type="bool"/>
|
|
<field name="opengl" start="0" end="0" type="bool"/>
|
|
</struct>
|
|
|
|
<struct name="PPP_SCREEN" length="1">
|
|
<field name="pixymax" start="16" end="30" type="uint"/>
|
|
<field name="pixxmax" start="0" end="14" type="uint"/>
|
|
</struct>
|
|
|
|
<!-- FIXME: This is only a partial definition as (at the time of writing)
|
|
csbgen doesn't support multiple address fields within structure.
|
|
-->
|
|
<struct name="TA_RTC_ADDR" length="2">
|
|
<field name="base" start="6" end="33" shift="6" type="address"/>
|
|
</struct>
|
|
|
|
<struct name="TA_CONTEXT_STATE_BASE" length="2">
|
|
<field name="addr" start="4" end="39" shift="4" type="address"/>
|
|
</struct>
|
|
|
|
<struct name="ISP_RENDER" length="1">
|
|
<field name="disable_eomt" start="5" end="5" type="bool"/>
|
|
<field name="resume" start="4" end="4" type="bool"/>
|
|
<field name="dir_type" start="2" end="3" type="DIR_TYPE"/>
|
|
<field name="mode_type" start="0" end="1" type="ISP_RENDER_MODE_TYPE"/>
|
|
</struct>
|
|
|
|
<struct name="ISP_RENDER_ORIGIN" length="1">
|
|
<field name="x" start="16" end="25" type="uint"/>
|
|
<field name="y" start="0" end="9" type="uint"/>
|
|
</struct>
|
|
|
|
<struct name="ISP_MTILE_SIZE" length="1">
|
|
<field name="x" start="16" end="25" type="uint"/>
|
|
<field name="y" start="0" end="9" type="uint"/>
|
|
</struct>
|
|
|
|
<struct name="ISP_BGOBJDEPTH" length="1">
|
|
<field name="value" start="0" end="31" type="uint"/>
|
|
</struct>
|
|
|
|
<struct name="ISP_BGOBJVALS" length="1">
|
|
<field name="enablebgtag" start="9" end="9" type="bool"/>
|
|
<field name="mask" start="8" end="8" type="bool"/>
|
|
<field name="stencil" start="0" end="7" type="uint"/>
|
|
</struct>
|
|
|
|
<struct name="ISP_AA" length="1">
|
|
<field name="mode" start="0" end="1" type="ISP_AA_MODE_TYPE"/>
|
|
</struct>
|
|
|
|
<struct name="ISP_CTL" length="1">
|
|
<field name="skip_init_hdrs" start="31" end="31" type="bool"/>
|
|
<field name="line_style" start="30" end="30" type="bool"/>
|
|
<field name="line_style_pix" start="29" end="29" type="bool"/>
|
|
<field name="pair_tiles_vert" start="28" end="28" type="bool"/>
|
|
<field name="pair_tiles" start="27" end="27" type="bool"/>
|
|
<field name="creq_buf_en" start="26" end="26" type="bool"/>
|
|
<field name="tile_age_en" start="25" end="25" type="bool"/>
|
|
<field name="isp_sample_pos_mode" start="23" end="24" type="MODE_TYPE"/>
|
|
<field name="num_tiles_per_usc" start="21" end="22" type="uint"/>
|
|
<field name="dbias_is_int" start="20" end="20" type="bool"/>
|
|
<field name="overlap_check_mode" start="19" end="19" type="bool"/>
|
|
<field name="pt_upfront_depth_disable" start="18" end="18" type="bool"/>
|
|
<field name="process_empty_tiles" start="17" end="17" type="bool"/>
|
|
<field name="sample_pos" start="16" end="16" type="bool"/>
|
|
<field name="pipe_enable" start="12" end="15" type="PIPE_NUM"/>
|
|
<field name="valid_id" start="4" end="9" type="uint"/>
|
|
<field name="upass_start" start="0" end="3" type="uint"/>
|
|
</struct>
|
|
|
|
<struct name="ISP_ZLSCTL" length="2">
|
|
<field name="zlsextent_y_s" start="48" end="57" type="uint"/>
|
|
<field name="zlsextent_x_s" start="38" end="47" type="uint"/>
|
|
<field name="stencil_extent_enable" start="37" end="37" type="bool"/>
|
|
<field name="zlsextent_y_z" start="27" end="36" type="uint"/>
|
|
<field name="zstoreformat" start="25" end="26" type="ZSTOREFORMAT_TYPE"/>
|
|
<field name="zloadformat" start="23" end="24" type="ZLOADFORMAT_TYPE"/>
|
|
<field name="fb_storeen" start="22" end="22" type="bool"/>
|
|
<field name="fb_loaden" start="21" end="21" type="bool"/>
|
|
<field name="mstoreen" start="20" end="20" type="bool"/>
|
|
<field name="zstoreen" start="19" end="19" type="bool"/>
|
|
<field name="sstoreen" start="18" end="18" type="bool"/>
|
|
<field name="storetwiddled" start="17" end="17" type="bool"/>
|
|
<field name="mloaden" start="16" end="16" type="bool"/>
|
|
<field name="zloaden" start="15" end="15" type="bool"/>
|
|
<field name="sloaden" start="14" end="14" type="bool"/>
|
|
<field name="loadtwiddled" start="13" end="13" type="bool"/>
|
|
<field name="zlsextent_x_z" start="3" end="12" type="uint"/>
|
|
<field name="forcezstore" start="2" end="2" type="bool"/>
|
|
<field name="forcezload" start="1" end="1" type="bool"/>
|
|
<field name="zonlyrender" start="0" end="0" type="bool"/>
|
|
</struct>
|
|
|
|
<struct name="ISP_ZLOAD_BASE" length="2">
|
|
<field name="addr" start="4" end="39" shift="4" type="address"/>
|
|
</struct>
|
|
|
|
<struct name="ISP_STENCIL_LOAD_BASE" length="2">
|
|
<field name="addr" start="4" end="39" shift="4" type="address"/>
|
|
<field name="enable" start="0" end="0" type="bool"/>
|
|
</struct>
|
|
|
|
<struct name="ISP_SCISSOR_BASE" length="2">
|
|
<field name="addr" start="2" end="39" shift="2" type="address"/>
|
|
</struct>
|
|
|
|
<struct name="ISP_DBIAS_BASE" length="2">
|
|
<field name="addr" start="2" end="39" shift="2" type="address"/>
|
|
</struct>
|
|
|
|
<struct name="ISP_OCLQRY_BASE" length="2">
|
|
<field name="addr" start="4" end="39" shift="4" type="address"/>
|
|
</struct>
|
|
|
|
<struct name="ISP_ZLS_PIXELS" length="1">
|
|
<field name="y" start="15" end="29" type="uint"/>
|
|
<field name="x" start="0" end="14" type="uint"/>
|
|
</struct>
|
|
|
|
<struct name="PBE_WORD0_MRT0" length="2">
|
|
<condition type="if" check="TFBC"/>
|
|
<field name="tfbc_lossy" start="62" end="63" type="TFBC_LOSSY"/>
|
|
<condition type="endif" check="TFBC"/>
|
|
<field name="x_rsrvd" start="63" end="63" type="bool"/>
|
|
<field name="pair_tiles" start="60" end="60" type="uint"/>
|
|
<field name="comp_iaddr_mode" start="60" end="60" type="COMP_IADDR_TYPE"/>
|
|
<field name="x_rsrvd2" start="59" end="59" type="bool"/>
|
|
<field name="comp_cor_enable" start="59" end="59" type="bool"/>
|
|
<field name="dither" start="58" end="58" type="bool"/>
|
|
<field name="tilerelative" start="57" end="57" type="bool"/>
|
|
<field name="downscale" start="56" end="56" type="bool"/>
|
|
<field name="size_z" start="52" end="55" type="SIZE"/>
|
|
<field name="rotation" start="50" end="51" type="ROTATION_TYPE"/>
|
|
<field name="linestride" start="34" end="49" type="uint"/>
|
|
<field name="memlayout" start="32" end="33" type="MEMLAYOUT"/>
|
|
<field name="swiz_chan3" start="29" end="31" type="SWIZ"/>
|
|
<field name="swiz_chan2" start="26" end="28" type="SWIZ"/>
|
|
<field name="swiz_chan1" start="23" end="25" type="SWIZ"/>
|
|
<field name="swiz_chan0" start="20" end="22" type="SWIZ"/>
|
|
<field name="minclip_x" start="6" end="19" type="uint"/>
|
|
<field name="twocomp_gamma" start="5" end="5" type="TWOCOMP_GAMMA"/>
|
|
<field name="gamma" start="4" end="4" type="bool"/>
|
|
<field name="compression" start="3" end="3" type="bool"/>
|
|
<field name="compress_size" start="2" end="2" type="COMPRESS_SIZE"/>
|
|
<field name="comp_indirect_table" start="1" end="1" type="bool"/>
|
|
<condition type="if" check="PBE_YFLIP"/>
|
|
<field name="y_flip" start="0" end="0" type="bool"/>
|
|
<condition type="endif" check="PBE_YFLIP"/>
|
|
</struct>
|
|
|
|
<struct name="FRAG_SCREEN" length="1">
|
|
<field name="ymax" start="16" end="30" type="uint"/>
|
|
<field name="xmax" start="0" end="14" type="uint"/>
|
|
</struct>
|
|
|
|
<struct name="TPU" length="1">
|
|
<condition type="if" check="PDSL0SIZE > 0"/>
|
|
<field name="mcu_pds_l0_off" start="8" end="8" type="bool"/>
|
|
<condition type="endif" check="PDSL0SIZE > 0"/>
|
|
<condition type="if" check="TPU_CEM_DATAMASTER_GLOBAL_REGISTERS"/>
|
|
<field name="tag_cem_64_face_packing" start="7" end="7" type="bool"/>
|
|
<condition type="endif" check="TPU_CEM_DATAMASTER_GLOBAL_REGISTERS"/>
|
|
<field name="tag_enable_mmu_prefetch" start="6" end="6" type="bool"/>
|
|
<field name="tag_cem_4k_face_packing" start="5" end="5" type="bool"/>
|
|
<field name="madd_config_l0off" start="4" end="4" type="bool"/>
|
|
<field name="tag_cem_face_packing" start="3" end="3" type="bool"/>
|
|
<field name="tag_cemedge_dontfilter" start="2" end="2" type="bool"/>
|
|
<condition type="if" check="TPU_CEM_USG_NORMALISATION"/>
|
|
<field name="tag_cemgrad_dontnegate" start="1" end="1" type="bool"/>
|
|
<condition type="endif" check="TPU_CEM_USG_NORMALISATION"/>
|
|
<field name="madd_config_dxt35_transovr" start="0" end="0" type="bool"/>
|
|
</struct>
|
|
|
|
<struct name="TPU_BORDER_COLOUR_TABLE_PDM" length="2">
|
|
<field name="border_colour_table_address" start="0" end="37" shift="2" type="address"/>
|
|
</struct>
|
|
|
|
<struct name="TPU_BORDER_COLOUR_TABLE_VDM" length="2">
|
|
<field name="border_colour_table_address" start="0" end="37" shift="2" type="address"/>
|
|
</struct>
|
|
|
|
<struct name="TPU_BORDER_COLOUR_TABLE_CDM" length="2">
|
|
<field name="border_colour_table_address" start="0" end="37" shift="2" type="address"/>
|
|
</struct>
|
|
|
|
<struct name="USC_PIXEL_OUTPUT_CTRL" length="1">
|
|
<field name="partition_mask" start="3" end="20" type="uint"/>
|
|
<field name="enable_4th_partition" start="2" end="2" type="bool"/>
|
|
<field name="width" start="0" end="1" type="PIXEL_WIDTH"/>
|
|
</struct>
|
|
|
|
</csbgen>
|