mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-06 15:58:05 +02:00
pvr: add basic volcanic hw-definitions
This is most of the HW definitions for the Volcanic GPU that more or less directly correspond to what we already have for Rogue. This isn't complete enough to drive the GPU, but gets us a step on the way. Reviewed-by: Frank Binns <frank.binns@imgtec.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39526>
This commit is contained in:
parent
975034660e
commit
384ce6d8d3
8 changed files with 684 additions and 0 deletions
|
|
@ -3,5 +3,6 @@
|
|||
|
||||
pvr_xml_pack = []
|
||||
subdir('rogue')
|
||||
subdir('volcanic')
|
||||
|
||||
dep_csbgen = declare_dependency(sources : [pvr_xml_pack])
|
||||
|
|
|
|||
105
src/imagination/csbgen/volcanic/cdm.xml
Normal file
105
src/imagination/csbgen/volcanic/cdm.xml
Normal file
|
|
@ -0,0 +1,105 @@
|
|||
<?xml version="1.0" ?>
|
||||
|
||||
<!--
|
||||
Copyright © 2025 Imagination Technologies Ltd.
|
||||
|
||||
SPDX-License-Identifier: MIT
|
||||
-->
|
||||
|
||||
<csbgen name="VOLCANIC" prefix="CDMCTRL">
|
||||
|
||||
<define name="GUARD_SIZE_DEFAULT" value="64"/>
|
||||
|
||||
<enum name="BLOCK_TYPE">
|
||||
<value name="COMPUTE_KERNEL" value="0"/>
|
||||
<value name="STREAM_LINK" value="1"/>
|
||||
<value name="STREAM_TERMINATE" value="2"/>
|
||||
</enum>
|
||||
|
||||
<enum name="USC_TARGET">
|
||||
<value name="ALL" value="0"/>
|
||||
<value name="ANY" value="1"/>
|
||||
</enum>
|
||||
|
||||
<enum name="SD_TYPE">
|
||||
<value name="NONE" value="0"/>
|
||||
<value name="PDS" value="1"/>
|
||||
<value name="USC" value="2"/>
|
||||
</enum>
|
||||
|
||||
<struct name="KERNEL0" length="1">
|
||||
<field name="block_type" start="30" end="31" type="BLOCK_TYPE" default="COMPUTE_KERNEL"/>
|
||||
<field name="indirect_present" start="29" end="29" type="bool"/>
|
||||
|
||||
<field name="usc_unified_size" start="12" end="18" type="uint"/>
|
||||
<field name="pds_temp_size" start="7" end="11" type="uint"/>
|
||||
<field name="pds_data_size" start="1" end="6" type="uint"/>
|
||||
|
||||
<field name="usc_target" start="0" end="0" type="USC_TARGET"/>
|
||||
</struct>
|
||||
|
||||
<struct name="KERNEL1" length="1">
|
||||
<field name="data_addr" start="4" end="31" shift="4" type="address"/>
|
||||
<field name="sd_type" start="2" end="3" type="SD_TYPE"/>
|
||||
</struct>
|
||||
|
||||
<struct name="KERNEL2" length="1">
|
||||
<field name="code_addr" start="4" end="31" shift="4" type="address"/>
|
||||
</struct>
|
||||
|
||||
<struct name="KERNEL3" length="1">
|
||||
<field name="workgroup_x" start="0" end="31" type="uint"/>
|
||||
</struct>
|
||||
|
||||
<struct name="KERNEL4" length="1">
|
||||
<field name="workgroup_y" start="0" end="31" type="uint"/>
|
||||
</struct>
|
||||
|
||||
<struct name="KERNEL5" length="1">
|
||||
<field name="workgroup_z" start="0" end="31" type="uint"/>
|
||||
</struct>
|
||||
|
||||
<struct name="KERNEL6" length="1">
|
||||
<field name="indirect_addrmsb" start="0" end="15" shift="32" type="address"/>
|
||||
</struct>
|
||||
|
||||
<struct name="KERNEL7" length="1">
|
||||
<field name="indirect_addrlsb" start="2" end="31" shift="2" type="address"/>
|
||||
</struct>
|
||||
|
||||
<struct name="KERNEL8" length="1">
|
||||
<field name="max_instances" start="25" end="31" type="uint"/>
|
||||
</struct>
|
||||
|
||||
<struct name="KERNEL9" length="1">
|
||||
<field name="workgroup_size_x" start="20" end="29" type="uint"/>
|
||||
<field name="workgroup_size_y" start="10" end="19" type="uint"/>
|
||||
<field name="workgroup_size_z" start="0" end="9" type="uint"/>
|
||||
</struct>
|
||||
|
||||
<struct name="KERNEL10" length="1">
|
||||
</struct>
|
||||
|
||||
<struct name="KERNEL11" length="1">
|
||||
</struct>
|
||||
|
||||
<struct name="KERNEL12" length="1">
|
||||
</struct>
|
||||
|
||||
<struct name="KERNEL13" length="1">
|
||||
</struct>
|
||||
|
||||
<struct name="STREAM_LINK0" length="1">
|
||||
<field name="block_type" start="30" end="31" type="BLOCK_TYPE" default="STREAM_LINK"/>
|
||||
<field name="link_addrmsb" start="0" end="15" shift="32" type="address"/>
|
||||
</struct>
|
||||
|
||||
<struct name="STREAM_LINK1" length="1">
|
||||
<field name="link_addrlsb" start="2" end="31" shift="2" type="address"/>
|
||||
</struct>
|
||||
|
||||
<struct name="STREAM_TERMINATE" length="1">
|
||||
<field name="block_type" start="30" end="31" type="BLOCK_TYPE" default="STREAM_TERMINATE"/>
|
||||
</struct>
|
||||
|
||||
</csbgen>
|
||||
139
src/imagination/csbgen/volcanic/ipf.xml
Normal file
139
src/imagination/csbgen/volcanic/ipf.xml
Normal file
|
|
@ -0,0 +1,139 @@
|
|||
<?xml version="1.0" ?>
|
||||
|
||||
<!--
|
||||
Copyright © 2025 Imagination Technologies Ltd.
|
||||
|
||||
SPDX-License-Identifier: MIT
|
||||
-->
|
||||
|
||||
<csbgen name="VOLCANIC" prefix="IPF">
|
||||
|
||||
<define name="TILE_SIZE_PIXELS" value="32"/>
|
||||
<define name="CONTROL_STREAM_SIZE_DWORDS" value="32"/>
|
||||
<define name="ISP_VERTEX_XY_BIAS_VALUE" value="4096"/>
|
||||
|
||||
<enum name="COMPRESSION_FORMAT">
|
||||
<value name="UNIQUE_1" value="0"/>
|
||||
<value name="ORIGIN_1_DELTA_1" value="1"/>
|
||||
<value name="ORIGIN_1_DELTA_2" value="2"/>
|
||||
<value name="ORIGIN_1_DELTA_3" value="3"/>
|
||||
<value name="ORIGIN_1_DELTA_4" value="4"/>
|
||||
<value name="ORIGIN_1_DELTA_5" value="5"/>
|
||||
<value name="ORIGIN_1_DELTA_6" value="6"/>
|
||||
<value name="ORIGIN_1_DELTA_7" value="7"/>
|
||||
<value name="RAW_BYTE" value="8"/>
|
||||
<value name="UNIQUE_2" value="9"/>
|
||||
<value name="ORIGIN_2_DELTA_1" value="10"/>
|
||||
<value name="ORIGIN_2_DELTA_2" value="11"/>
|
||||
<value name="ORIGIN_2_DELTA_3" value="12"/>
|
||||
<value name="ORIGIN_2_DELTA_4" value="13"/>
|
||||
<value name="ORIGIN_2_DELTA_5" value="14"/>
|
||||
<value name="ORIGIN_2_DELTA_6" value="15"/>
|
||||
</enum>
|
||||
|
||||
<enum name="CS_MASK_FMT">
|
||||
<value name="INDEX" value="0"/>
|
||||
<value name="BYTE" value="1"/>
|
||||
<value name="BIT" value="2"/>
|
||||
<value name="FULL" value="3"/>
|
||||
</enum>
|
||||
|
||||
<enum name="CS_TYPE">
|
||||
<value name="PRIM" value="0"/>
|
||||
<value name="LINK" value="2"/>
|
||||
<value name="TERM" value="3"/>
|
||||
</enum>
|
||||
|
||||
<struct name="CONTROL_STREAM" length="1">
|
||||
<field name="cs_type" start="30" end="31" type="CS_TYPE"/>
|
||||
<field name="cs_link" start="3" end="29" shift="7" type="address"/>
|
||||
</struct>
|
||||
|
||||
<struct name="PRIMITIVE_FORMAT" length="1">
|
||||
<field name="cs_type" start="30" end="31" type="CS_TYPE"/>
|
||||
<field name="cs_isp_state_size" start="26" end="28" type="uint"/>
|
||||
<field name="cs_prim_total" start="19" end="25" type="uint"/>
|
||||
<field name="cs_mask_fmt" start="17" end="18" type="CS_MASK_FMT"/>
|
||||
<field name="cs_prim_base_pres" start="16" end="16" type="bool"/>
|
||||
<field name="cs_prim_base_offset" start="0" end="15" type="uint"/>
|
||||
</struct>
|
||||
|
||||
<struct name="PRIMITIVE_BASE" length="1">
|
||||
<field name="cs_prim_base" start="0" end="31" shift="2" type="address"/>
|
||||
</struct>
|
||||
|
||||
<struct name="COMPRESSION_SIZE_WORD" length="1">
|
||||
<field name="cs_tsp_comp_format_size" start="22" end="27" type="uint"/>
|
||||
<field name="cs_tsp_comp_table_size" start="12" end="21" type="uint"/>
|
||||
<field name="cs_tsp_comp_vertex_size" start="0" end="11" type="uint"/>
|
||||
</struct>
|
||||
|
||||
<struct name="ISP_COMPRESSION_WORD_0" length="1">
|
||||
<field name="cf_isp_comp_fmt_z1" start="28" end="31" type="COMPRESSION_FORMAT"/>
|
||||
<field name="cf_isp_comp_fmt_z0" start="24" end="27" type="COMPRESSION_FORMAT"/>
|
||||
<field name="cf_isp_comp_fmt_y2" start="20" end="23" type="COMPRESSION_FORMAT"/>
|
||||
<field name="cf_isp_comp_fmt_y1" start="16" end="19" type="COMPRESSION_FORMAT"/>
|
||||
<field name="cf_isp_comp_fmt_y0" start="12" end="15" type="COMPRESSION_FORMAT"/>
|
||||
<field name="cf_isp_comp_fmt_x2" start="8" end="11" type="COMPRESSION_FORMAT"/>
|
||||
<field name="cf_isp_comp_fmt_x1" start="4" end="7" type="COMPRESSION_FORMAT"/>
|
||||
<field name="cf_isp_comp_fmt_x0" start="0" end="3" type="COMPRESSION_FORMAT"/>
|
||||
</struct>
|
||||
|
||||
<struct name="ISP_COMPRESSION_WORD_1" length="1">
|
||||
<field name="vf_prim_msaa" start="16" end="16" type="bool"/>
|
||||
<field name="vf_prim_id_pres" start="15" end="15" type="bool"/>
|
||||
<field name="vf_vertex_clipped" start="14" end="14" type="bool"/>
|
||||
<field name="vf_vertex_total" start="8" end="13" type="uint"/>
|
||||
<field name="cf_isp_comp_fmt_z3" start="4" end="7" type="COMPRESSION_FORMAT"/>
|
||||
<field name="cf_isp_comp_fmt_z2" start="0" end="3" type="COMPRESSION_FORMAT"/>
|
||||
</struct>
|
||||
|
||||
<struct name="INDEX_DATA" length="1">
|
||||
<field name="ix_edge_flag1_ab" start="30" end="30" type="bool"/>
|
||||
<field name="ix_index1_0" start="24" end="29" type="uint"/>
|
||||
<field name="ix_bf_flag0" start="23" end="23" type="bool"/>
|
||||
<field name="ix_edge_flag0_ca" start="22" end="22" type="bool"/>
|
||||
<field name="ix_index0_2" start="16" end="21" type="uint"/>
|
||||
<field name="ix_edge_flag0_bc" start="14" end="14" type="bool"/>
|
||||
<field name="ix_index0_1" start="8" end="13" type="uint"/>
|
||||
<field name="ix_edge_flag0_ab" start="6" end="6" type="bool"/>
|
||||
<field name="ix_index0_0" start="0" end="5" type="uint"/>
|
||||
</struct>
|
||||
|
||||
<struct name="ISP_VERTEX_XY" length="1">
|
||||
<field name="sign" start="23" end="23" type="bool"/>
|
||||
<field name="integer" start="8" end="22" type="uint"/>
|
||||
<field name="frac" start="0" end="7" type="uint"/>
|
||||
</struct>
|
||||
|
||||
<struct name="ISP_VERTEX_WORD_0" length="1">
|
||||
<field name="y0" start="24" end="31" type="uint"/>
|
||||
<field name="x0" start="0" end="23" type="uint"/>
|
||||
</struct>
|
||||
|
||||
<struct name="ISP_VERTEX_WORD_1" length="1">
|
||||
<field name="z0" start="16" end="31" type="uint"/>
|
||||
<field name="y0" start="0" end="15" type="uint">
|
||||
<define name="SHIFT" value="8"/>
|
||||
</field>
|
||||
</struct>
|
||||
|
||||
<struct name="ISP_VERTEX_WORD_2" length="1">
|
||||
<field name="x1" start="16" end="31" type="uint"/>
|
||||
<field name="z0" start="0" end="15" type="uint">
|
||||
<define name="SHIFT" value="16"/>
|
||||
</field>
|
||||
</struct>
|
||||
|
||||
<struct name="ISP_VERTEX_WORD_3" length="1">
|
||||
<field name="y1" start="8" end="31" type="uint"/>
|
||||
<field name="x1" start="0" end="7" type="uint">
|
||||
<define name="SHIFT" value="16"/>
|
||||
</field>
|
||||
</struct>
|
||||
|
||||
<struct name="ISP_VERTEX_WORD_4" length="1">
|
||||
<field name="z1" start="0" end="31" type="uint"/>
|
||||
</struct>
|
||||
|
||||
</csbgen>
|
||||
20
src/imagination/csbgen/volcanic/lls.xml
Normal file
20
src/imagination/csbgen/volcanic/lls.xml
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
<?xml version="1.0" ?>
|
||||
|
||||
<!--
|
||||
Copyright © 2025 Imagination Technologies Ltd.
|
||||
|
||||
SPDX-License-Identifier: MIT
|
||||
-->
|
||||
|
||||
<csbgen name="VOLCANIC" prefix="LLS">
|
||||
|
||||
<define name="CDM_CONTEXT_RESUME_BUFFER_SIZE" value="72"/>
|
||||
<define name="CDM_CONTEXT_RESUME_BUFFER_ALIGNMENT" value="32"/>
|
||||
|
||||
<define name="TA_STATE_BUFFER_SIZE" value="468"/>
|
||||
<define name="TA_STATE_BUFFER_ALIGNMENT" value="32"/>
|
||||
|
||||
<define name="USC_SHARED_REGS_BUFFER_SIZE" value="16384"/>
|
||||
<define name="USC_SHARED_REGS_BUFFER_ALIGNMENT" value="32"/>
|
||||
|
||||
</csbgen>
|
||||
22
src/imagination/csbgen/volcanic/meson.build
Normal file
22
src/imagination/csbgen/volcanic/meson.build
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
# Copyright © 2025 Imagination Technologies Ltd.
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
pvr_xml_files = [
|
||||
'cdm.xml',
|
||||
'ipf.xml',
|
||||
'lls.xml',
|
||||
'pbestate.xml',
|
||||
'pds.xml',
|
||||
'texstate.xml',
|
||||
]
|
||||
|
||||
foreach f : pvr_xml_files
|
||||
_name = '@0@.h'.format(f.split('.')[0])
|
||||
pvr_xml_pack += custom_target(
|
||||
_name,
|
||||
input : ['../gen_pack_header.py', f],
|
||||
output : _name,
|
||||
command : [prog_python, '@INPUT@'],
|
||||
capture : true,
|
||||
)
|
||||
endforeach
|
||||
80
src/imagination/csbgen/volcanic/pbestate.xml
Normal file
80
src/imagination/csbgen/volcanic/pbestate.xml
Normal file
|
|
@ -0,0 +1,80 @@
|
|||
<?xml version="1.0" ?>
|
||||
|
||||
<!--
|
||||
Copyright © 2025 Imagination Technologies Ltd.
|
||||
|
||||
SPDX-License-Identifier: MIT
|
||||
-->
|
||||
|
||||
<csbgen name="VOLCANIC" prefix="PBESTATE">
|
||||
|
||||
<enum name="PACKMODE">
|
||||
<value name="U8U8U8U8" value="0x0"/>
|
||||
<value name="S8S8S8S8" value="0x1"/>
|
||||
<value name="A1R5G5B5" value="0x2"/>
|
||||
<value name="R5G5B5A1" value="0x3"/>
|
||||
<value name="A4R4G4B4" value="0x4"/>
|
||||
<value name="A8R3G3B2" value="0x5"/>
|
||||
<value name="U16U16U16U16" value="0x6"/>
|
||||
<value name="S16S16S16S16" value="0x7"/>
|
||||
<value name="F16F16F16F16" value="0x8"/>
|
||||
<value name="U32U32U32U32" value="0x9"/>
|
||||
<value name="S32S32S32S32" value="0xa"/>
|
||||
<value name="F32F32F32F32" value="0xb"/>
|
||||
<value name="A2R10B10G10" value="0xc"/>
|
||||
<value name="R10B10G10A2" value="0xd"/>
|
||||
<value name="A2F10F10F10" value="0xe"/>
|
||||
<value name="F10F10F10A2" value="0xf"/>
|
||||
<value name="U8U8U8" value="0x10"/>
|
||||
<value name="S8S8S8" value="0x11"/>
|
||||
<value name="R5G6B5" value="0x12"/>
|
||||
<value name="R5SG5SB6" value="0x13"/>
|
||||
<value name="B6G5SR5S" value="0x14"/>
|
||||
<value name="U16U16U16" value="0x15"/>
|
||||
<value name="S16S16S16" value="0x16"/>
|
||||
<value name="F16F16F16" value="0x17"/>
|
||||
<value name="U32U32U32" value="0x18"/>
|
||||
<value name="S32S32S32" value="0x19"/>
|
||||
<value name="F11F11F10" value="0x1a"/>
|
||||
<value name="F10F11F11" value="0x1b"/>
|
||||
<value name="F32F32F32" value="0x1d"/>
|
||||
<value name="U8U8" value="0x1e"/>
|
||||
<value name="S8S8" value="0x1f"/>
|
||||
<value name="U16U16" value="0x20"/>
|
||||
<value name="S16S16" value="0x21"/>
|
||||
<value name="F16F16" value="0x22"/>
|
||||
<value name="U32U32" value="0x23"/>
|
||||
<value name="S32S32" value="0x24"/>
|
||||
<value name="F32F32" value="0x25"/>
|
||||
<value name="U24ST8" value="0x26"/>
|
||||
<value name="ST8U24" value="0x27"/>
|
||||
<value name="U8" value="0x28"/>
|
||||
<value name="S8" value="0x29"/>
|
||||
<value name="U16" value="0x2a"/>
|
||||
<value name="S16" value="0x2b"/>
|
||||
<value name="F16" value="0x2c"/>
|
||||
<value name="U32" value="0x2d"/>
|
||||
<value name="S32" value="0x2e"/>
|
||||
<value name="F32" value="0x2f"/>
|
||||
<value name="ARGBV16_XR10" value="0x30"/>
|
||||
<value name="A2_XRBIAS_U10U10U10" value="0x31"/>
|
||||
<value name="U10U10U10_XRBIAS_A2" value="0x32"/>
|
||||
</enum>
|
||||
|
||||
<enum name="SOURCE_FORMAT">
|
||||
<value name="F16_PER_CHANNEL" value="0"/>
|
||||
<value name="8_OR_RAW_PER_CHANNEL" value="1"/>
|
||||
</enum>
|
||||
|
||||
<enum name="SOURCE_POS">
|
||||
<value name="START_BIT0" value="0"/>
|
||||
<value name="START_BIT32" value="1"/>
|
||||
<value name="START_BIT64" value="2"/>
|
||||
<value name="START_BIT96" value="3"/>
|
||||
</enum>
|
||||
|
||||
<struct name="STATE_WORD0" length="1">
|
||||
<field name="address_low" start="0" end="31" shift="2" type="address"/>
|
||||
</struct>
|
||||
|
||||
</csbgen>
|
||||
57
src/imagination/csbgen/volcanic/pds.xml
Normal file
57
src/imagination/csbgen/volcanic/pds.xml
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
<?xml version="1.0" ?>
|
||||
|
||||
<!--
|
||||
Copyright © 2025 Imagination Technologies Ltd.
|
||||
|
||||
SPDX-License-Identifier: MIT
|
||||
-->
|
||||
|
||||
<csbgen name="VOLCANIC" prefix="PDSINST">
|
||||
|
||||
<enum name="DOUTI_SHADEMODEL">
|
||||
<value name="FLAT_VERTEX0" value="0"/>
|
||||
<value name="FLAT_VERTEX1" value="1"/>
|
||||
<value name="FLAT_VERTEX2" value="2"/>
|
||||
<value name="GOURUAD" value="3"/>
|
||||
</enum>
|
||||
|
||||
<enum name="DOUTI_SIZE">
|
||||
<value name="1D" value="0"/>
|
||||
<value name="2D" value="1"/>
|
||||
<value name="3D" value="2"/>
|
||||
<value name="4D" value="3"/>
|
||||
</enum>
|
||||
|
||||
<enum name="DOUTU_SAMPLE_RATE">
|
||||
<value name="INSTANCE" value="0"/>
|
||||
<value name="SELECTIVE" value="1"/>
|
||||
<value name="FULL" value="2"/>
|
||||
</enum>
|
||||
|
||||
<struct name="DOUT_FIELDS_DOUTD_SRC0" length="1">
|
||||
<field name="doffset" start="48" end="60" type="uint"/>
|
||||
<field name="sbase" start="0" end="47" shift="0" type="address"/>
|
||||
</struct>
|
||||
|
||||
<struct name="DOUT_FIELDS_DOUTD_SRC1" length="1">
|
||||
<field name="last" start="31" end="31" type="bool"/>
|
||||
<field name="dest" start="28" end="30" type="uint"/>
|
||||
<field name="bsize" start="0" end="11" type="uint"/>
|
||||
</struct>
|
||||
|
||||
<struct name="DOUT_FIELDS_DOUTI_SRC" length="1">
|
||||
<field name="depthbias" start="27" end="27" type="bool"/>
|
||||
<field name="primitiveid" start="26" end="26" type="bool"/>
|
||||
<field name="shademodel" start="24" end="25" type="DOUTI_SHADEMODEL"/>
|
||||
<field name="pointsprite" start="23" end="23" type="bool"/>
|
||||
<field name="wraps" start="22" end="22" type="bool"/>
|
||||
<field name="wrapv" start="21" end="21" type="bool"/>
|
||||
<field name="wrapu" start="20" end="20" type="bool"/>
|
||||
<field name="size" start="18" end="19" type="DOUTI_SIZE"/>
|
||||
<field name="f16" start="17" end="17" type="bool"/>
|
||||
<field name="perspective" start="16" end="16" type="bool"/>
|
||||
<field name="f32_offset" start="8" end="15" type="uint"/>
|
||||
<field name="f16_offset" start="0" end="7" type="uint"/>
|
||||
</struct>
|
||||
|
||||
</csbgen>
|
||||
260
src/imagination/csbgen/volcanic/texstate.xml
Normal file
260
src/imagination/csbgen/volcanic/texstate.xml
Normal file
|
|
@ -0,0 +1,260 @@
|
|||
<?xml version="1.0" ?>
|
||||
|
||||
<!--
|
||||
Copyright © 2025 Imagination Technologies Ltd.
|
||||
|
||||
SPDX-License-Identifier: MIT
|
||||
-->
|
||||
|
||||
<csbgen name="VOLCANIC" prefix="TEXSTATE">
|
||||
|
||||
<enum name="ADDRMODE">
|
||||
<value name="REPEAT" value="0"/>
|
||||
<value name="FLIP" value="1"/>
|
||||
<value name="CLAMP_TO_EDGE" value="2"/>
|
||||
<value name="FLIP_ONCE_THEN_CLAMP" value="3"/>
|
||||
<value name="CLAMP_TO_BORDER" value="4"/>
|
||||
<value name="OGL_CLAMP" value="5"/>
|
||||
</enum>
|
||||
|
||||
<enum name="ANISOCTL">
|
||||
<value name="DISABLED" value="0"/>
|
||||
<value name="X2" value="1"/>
|
||||
<value name="X4" value="2"/>
|
||||
<value name="X8" value="3"/>
|
||||
<value name="X16" value="4"/>
|
||||
</enum>
|
||||
|
||||
<enum name="CLAMP">
|
||||
<value name="INTEGER_BITS" value="4"/>
|
||||
<value name="FRACTIONAL_BITS" value="8"/>
|
||||
</enum>
|
||||
|
||||
<enum name="CMP_MODE">
|
||||
<value name="NEVER" value="0"/>
|
||||
<value name="LESS" value="1"/>
|
||||
<value name="EQUAL" value="2"/>
|
||||
<value name="LESSEQUAL" value="3"/>
|
||||
<value name="GREATER" value="4"/>
|
||||
<value name="NOTEQUAL" value="5"/>
|
||||
<value name="GREATEREQUAL" value="6"/>
|
||||
<value name="ALWAYS" value="7"/>
|
||||
</enum>
|
||||
|
||||
<enum name="DADJUST">
|
||||
<value name="MIN_UINT" value="0"/>
|
||||
<value name="ZERO_UINT" value="4095"/>
|
||||
<value name="MAX_UINT" value="8191"/>
|
||||
<value name="INTEGER_BITS" value="5"/>
|
||||
<value name="FRACTIONAL_BITS" value="8"/>
|
||||
</enum>
|
||||
|
||||
<enum name="FILTER">
|
||||
<value name="POINT" value="0"/>
|
||||
<value name="LINEAR" value="1"/>
|
||||
<value name="BICUBIC" value="2"/>
|
||||
</enum>
|
||||
|
||||
<enum name="FORMAT">
|
||||
<value name="U8" value="0"/>
|
||||
<value name="S8" value="1"/>
|
||||
<value name="A4R4G4B4" value="2"/>
|
||||
<value name="A8R3G3B2" value="3"/>
|
||||
<value name="A1R5G5B5" value="4"/>
|
||||
<value name="R5G6B5" value="5"/>
|
||||
<value name="R5sG5sB6" value="6"/>
|
||||
<value name="U8U8" value="7"/>
|
||||
<value name="S8S8" value="8"/>
|
||||
<value name="U16" value="9"/>
|
||||
<value name="S16" value="10"/>
|
||||
<value name="F16" value="11"/>
|
||||
<value name="U8U8U8U8" value="12"/>
|
||||
<value name="S8S8S8S8" value="13"/>
|
||||
<value name="A2R10B10G10" value="14"/>
|
||||
<value name="U16U16" value="15"/>
|
||||
<value name="S16S16" value="16"/>
|
||||
<value name="F16F16" value="17"/>
|
||||
<value name="F32" value="18"/>
|
||||
<!-- 19 -->
|
||||
<value name="X8U8S8S8" value="20"/>
|
||||
<value name="X8U24" value="21"/>
|
||||
<value name="ST8U24" value="22"/>
|
||||
<value name="U8X24" value="23"/>
|
||||
<value name="U32" value="24"/>
|
||||
<value name="S32" value="25"/>
|
||||
<value name="SE9995" value="26"/>
|
||||
<value name="F11F11F10" value="27"/>
|
||||
<value name="F16F16F16F16" value="28"/>
|
||||
<value name="U16U16U16U16" value="29"/>
|
||||
<value name="S16S16S16S16" value="30"/>
|
||||
<value name="F16F16F16" value="31"/>
|
||||
<value name="U16U16U16" value="32"/>
|
||||
<value name="S16S16S16" value="33"/>
|
||||
<value name="F32F32" value="34"/>
|
||||
<value name="U32U32" value="35"/>
|
||||
<value name="S32S32" value="36"/>
|
||||
<value name="X24U8F32" value="37"/>
|
||||
<value name="X24X8F32" value="38"/>
|
||||
<value name="X24G8X32" value="39"/>
|
||||
<value name="YUV420_2PLANE" value="40"/>
|
||||
<value name="YVU420_2PLANE" value="41"/>
|
||||
<value name="YUV420_3PLANE" value="42"/>
|
||||
<value name="YVU420_3PLANE" value="43"/>
|
||||
<value name="U8U8U8" value="44"/>
|
||||
<value name="S8S8S8" value="45"/>
|
||||
<value name="A2F10F10F10" value="46"/>
|
||||
<value name="F32F32F32F32" value="47"/>
|
||||
<value name="U32U32U32U32" value="48"/>
|
||||
<value name="S32S32S32S32" value="49"/>
|
||||
<value name="F32F32F32" value="50"/>
|
||||
<value name="U32U32U32" value="51"/>
|
||||
<value name="S32S32S32" value="52"/>
|
||||
<value name="R5G5B5A1" value="53"/>
|
||||
<value name="B6G5sR5s" value="54"/>
|
||||
<value name="R10B10G10A2" value="55"/>
|
||||
<value name="X8S8S8U8" value="56"/>
|
||||
<value name="U24ST8" value="57"/>
|
||||
<value name="F10F11F11" value="58"/>
|
||||
<value name="VYUY" value="59"/>
|
||||
<value name="UYVY" value="60"/>
|
||||
<value name="YVYU" value="61"/>
|
||||
<value name="YUYV" value="62"/>
|
||||
<value name="F10F10F10A2" value="63"/>
|
||||
<value name="YUV420_2PLANE_MACRO_BLOCK" value="64"/>
|
||||
<value name="YVU420_2PLANE_MACRO_BLOCK" value="65"/>
|
||||
<value name="YVU8_422_2PLANE_PACK8" value="66"/>
|
||||
<value name="YVU8_444_2PLANE_PACK8" value="67"/>
|
||||
<value name="YVU10_444_1PLANE_PACK10" value="68"/>
|
||||
<value name="YVU10_422_2PLANE_PACK16" value="69"/>
|
||||
<value name="YVU10_420_2PLANE_PACK16" value="70"/>
|
||||
<value name="YVU10_444_2PLANE_PACK16" value="71"/>
|
||||
<value name="YUV8_422_2PLANE_PACK8" value="72"/>
|
||||
<value name="YUV8_444_3PLANE_PACK8" value="73"/>
|
||||
<value name="YUV10_444_3PLANE_PACK16" value="74"/>
|
||||
<value name="YVU10_420_2PLANE_PACK10" value="75"/>
|
||||
<value name="YUV10_420_2PLANE_PACK10" value="76"/>
|
||||
<value name="YVU10_422_2PLANE_PACK10" value="77"/>
|
||||
<value name="YUV10_422_2PLANE_PACK10" value="78"/>
|
||||
<value name="YUV10_444_3PLANE_PACK10" value="79"/>
|
||||
<value name="R8G8_B8G8" value="80"/>
|
||||
<value name="G8R8_G8B8" value="81"/>
|
||||
<value name="YVYU_IMPLIED_CSC" value="82"/>
|
||||
<value name="VYUY_IMPLIED_CSC" value="83"/>
|
||||
<!-- 84..85 -->
|
||||
<value name="YUV10_420_2PLANE_PACK10_T" value="86"/>
|
||||
<value name="YVU10_420_2PLANE_PACK10_T" value="87"/>
|
||||
<value name="YUV8_420_2PLANE_PACK8_P" value="88"/>
|
||||
<value name="YVU8_420_2PLANE_PACK8_P" value="89"/>
|
||||
<value name="YUV8_420_2PLANE_PACK8_F" value="90"/>
|
||||
<value name="YVU8_420_2PLANE_PACK8_F" value="91"/>
|
||||
<!-- 92..93 -->
|
||||
<value name="ASTC_4x4" value="94"/>
|
||||
<value name="ASTC_5x4" value="95"/>
|
||||
<value name="ASTC_5x5" value="96"/>
|
||||
<value name="ASTC_6x5" value="97"/>
|
||||
<value name="ASTC_6x6" value="98"/>
|
||||
<value name="ASTC_8x5" value="99"/>
|
||||
<value name="ASTC_8x6" value="100"/>
|
||||
<value name="ASTC_8x8" value="101"/>
|
||||
<value name="ASTC_10x5" value="102"/>
|
||||
<value name="ASTC_10x6" value="103"/>
|
||||
<value name="ASTC_10x8" value="104"/>
|
||||
<value name="ASTC_10x10" value="105"/>
|
||||
<value name="ASTC_12x10" value="106"/>
|
||||
<value name="ASTC_12x12" value="107"/>
|
||||
<value name="UBC1" value="108"/>
|
||||
<value name="UBC2" value="109"/>
|
||||
<value name="UBC3" value="110"/>
|
||||
<value name="UBC4" value="111"/>
|
||||
<value name="SBC4" value="112"/>
|
||||
<value name="UBC5" value="113"/>
|
||||
<value name="SBC5" value="114"/>
|
||||
<value name="UBC6" value="115"/>
|
||||
<value name="SBC6" value="116"/>
|
||||
<value name="UBC7" value="117"/>
|
||||
<value name="ETC2_RGB" value="118"/>
|
||||
<value name="ETC2A_RGBA" value="119"/>
|
||||
<value name="ETC2_PUNCHTHROUGHA" value="120"/>
|
||||
<value name="EAC_R11_UNSIGNED" value="121"/>
|
||||
<value name="EAC_R11_SIGNED" value="122"/>
|
||||
<value name="EAC_RG11_UNSIGNED" value="123"/>
|
||||
<value name="EAC_RG11_SIGNED" value="124"/>
|
||||
<!-- 125..138 -->
|
||||
</enum>
|
||||
|
||||
<enum name="SWIZ">
|
||||
<value name="SRCCHAN_0" value="0"/>
|
||||
<value name="SRCCHAN_1" value="1"/>
|
||||
<value name="SRCCHAN_2" value="2"/>
|
||||
<value name="SRCCHAN_3" value="3"/>
|
||||
<value name="SRC_ONE" value="4"/>
|
||||
<value name="SRC_ZERO" value="5"/>
|
||||
</enum>
|
||||
|
||||
<enum name="TEXTYPE">
|
||||
<value name="1D" value="0"/>
|
||||
<value name="2D" value="1"/>
|
||||
<value name="3D" value="2"/>
|
||||
<value name="CUBE" value="3"/>
|
||||
<value name="STRIDE" value="4"/>
|
||||
<value name="BUFFER_LOOKUP" value="5"/>
|
||||
</enum>
|
||||
|
||||
<enum name="TWOCOMP_GAMMA">
|
||||
<value name="OFF" value="0"/>
|
||||
<value name="R" value="1"/>
|
||||
<value name="RG" value="3"/>
|
||||
</enum>
|
||||
|
||||
<struct name="IMAGE_WORD0" length="2">
|
||||
<field name="height" start="49" end="62" type="uint"/>
|
||||
<field name="width" start="35" end="48" type="uint"/>
|
||||
<field name="texformat" start="15" end="22" type="FORMAT"/>
|
||||
<field name="minlod" start="23" end="34" type="uint"/>
|
||||
<field name="swiz0" start="12" end="14" type="SWIZ"/>
|
||||
<field name="swiz1" start="9" end="11" type="SWIZ"/>
|
||||
<field name="swiz2" start="6" end="8" type="SWIZ"/>
|
||||
<field name="swiz3" start="3" end="5" type="SWIZ"/>
|
||||
<field name="textype" start="0" end="2" type="TEXTYPE"/>
|
||||
</struct>
|
||||
|
||||
<struct name="IMAGE_WORD1" length="2">
|
||||
<field name="alpha_msb" start="62" end="62" type="bool"/>
|
||||
<field name="mipmaps_present" start="61" end="61" type="bool"/>
|
||||
<field name="depth" start="48" end="58" type="uint"/>
|
||||
<field name="border" start="46" end="46" type="bool"/>
|
||||
<field name="texaddr" start="0" end="45" shift="2" type="address"/>
|
||||
</struct>
|
||||
|
||||
<struct name="IMAGE_WORD2" length="2">
|
||||
<field name="num_mip_levels" start="10" end="13" type="uint"/>
|
||||
<field name="twocomp_gamma" start="4" end="5" type="TWOCOMP_GAMMA"/>
|
||||
<field name="baselevel" start="0" end="3" type="uint"/>
|
||||
</struct>
|
||||
|
||||
<struct name="STRIDE_IMAGE_WORD1" length="2">
|
||||
<field name="alpha_msb" start="62" end="62" type="bool"/>
|
||||
<field name="mipmaps_present" start="61" end="61" type="bool"/>
|
||||
<field name="stride" start="46" end="60" type="uint"/>
|
||||
<field name="texaddr" start="0" end="45" shift="2" type="address"/>
|
||||
</struct>
|
||||
|
||||
<struct name="SAMPLER_WORD0" length="2">
|
||||
<field name="cemedge_dontfilter" start="63" end="63" type="bool"/>
|
||||
<field name="cmp_mode" start="57" end="59" type="CMP_MODE"/>
|
||||
<field name="non_normalized_coords" start="56" end="56" type="bool"/>
|
||||
<field name="lumakey_alphamult" start="55" end="55" type="bool"/>
|
||||
<field name="lumakey" start="54" end="54" type="bool"/>
|
||||
<field name="addrmode_w" start="51" end="53" type="ADDRMODE"/>
|
||||
<field name="addrmode_v" start="48" end="50" type="ADDRMODE"/>
|
||||
<field name="addrmode_u" start="45" end="47" type="ADDRMODE"/>
|
||||
<field name="mipfilter" start="44" end="44" type="bool"/>
|
||||
<field name="minfilter" start="42" end="43" type="FILTER"/>
|
||||
<field name="magfilter" start="40" end="41" type="FILTER"/>
|
||||
<field name="anisoctl" start="37" end="39" type="ANISOCTL"/>
|
||||
<field name="maxlod" start="25" end="36" type="CLAMP"/>
|
||||
<field name="minlod" start="13" end="24" type="CLAMP"/>
|
||||
<field name="dadjust" start="0" end="12" type="DADJUST"/>
|
||||
</struct>
|
||||
|
||||
</csbgen>
|
||||
Loading…
Add table
Reference in a new issue