Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Linux/drivers/gpu/drm/msm/registers/adreno/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 8 kB image not shown  

Quelle  a6xx_descriptors.xml   Sprache: XML

 
<?xml version="1.0" encoding="UTF-8"?>
<database xmlns="http://nouveau.freedesktop.org/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://gitlab.freedesktop.org/freedreno/ rules-fd.xsd">
<import file="freedreno_copyright.xml"/>
<import file="adreno/adreno_common.xml"/>
<import file="adreno/adreno_pm4.xml"/>
<import file="adreno/a6xx_enums.xml"/>

<domain name="A6XX_TEX_SAMP" width="32">
 <doc>Texture sampler dwords</doc>
 <enum name="a6xx_tex_filter"<!-- same as a4xx? -->
  <value name="A6XX_TEX_NEAREST" value="0"/>
  <value name="A6XX_TEX_LINEAR" value="1"/>
  <value name="A6XX_TEX_ANISO" value="2"/>
  <value name="A6XX_TEX_CUBIC" value="3"/> <!-- a650 only -->
 </enum>
 <enum name="a6xx_tex_clamp"<!-- same as a4xx? -->
  <value name="A6XX_TEX_REPEAT" value="0"/>
  <value name="A6XX_TEX_CLAMP_TO_EDGE" value="1"/>
  <value name="A6XX_TEX_MIRROR_REPEAT" value="2"/>
  <value name="A6XX_TEX_CLAMP_TO_BORDER" value="3"/>
  <value name="A6XX_TEX_MIRROR_CLAMP" value="4"/>
 </enum>
 <enum name="a6xx_tex_aniso"<!-- same as a4xx? -->
  <value name="A6XX_TEX_ANISO_1" value="0"/>
  <value name="A6XX_TEX_ANISO_2" value="1"/>
  <value name="A6XX_TEX_ANISO_4" value="2"/>
  <value name="A6XX_TEX_ANISO_8" value="3"/>
  <value name="A6XX_TEX_ANISO_16" value="4"/>
 </enum>
 <enum name="a6xx_reduction_mode">
  <value name="A6XX_REDUCTION_MODE_AVERAGE" value="0"/>
  <value name="A6XX_REDUCTION_MODE_MIN" value="1"/>
  <value name="A6XX_REDUCTION_MODE_MAX" value="2"/>
 </enum>
 <enum name="a6xx_fast_border_color">
  <!--                           R B G A -->
  <value name="A6XX_BORDER_COLOR_0_0_0_0" value="0"/>
  <value name="A6XX_BORDER_COLOR_0_0_0_1" value="1"/>
  <value name="A6XX_BORDER_COLOR_1_1_1_0" value="2"/>
  <value name="A6XX_BORDER_COLOR_1_1_1_1" value="3"/>
 </enum>

 <reg32 offset="0" name="0">
  <bitfield name="MIPFILTER_LINEAR_NEAR" pos="0" type="boolean"/>
  <bitfield name="XY_MAG" low="1" high="2" type="a6xx_tex_filter"/>
  <bitfield name="XY_MIN" low="3" high="4" type="a6xx_tex_filter"/>
  <bitfield name="WRAP_S" low="5" high="7" type="a6xx_tex_clamp"/>
  <bitfield name="WRAP_T" low="8" high="10" type="a6xx_tex_clamp"/>
  <bitfield name="WRAP_R" low="11" high="13" type="a6xx_tex_clamp"/>
  <bitfield name="ANISO" low="14" high="16" type="a6xx_tex_aniso"/>
  <bitfield name="LOD_BIAS" low="19" high="31" type="fixed" radix="8"/><!-- no idea how many bits for real -->
 </reg32>
 <reg32 offset="1" name="1">
  <bitfield name="CLAMPENABLE" pos="0" type="boolean">
   <doc>
    clamp result to [0, 1] if the format is unorm or
    [-1, 1] if the format is snorm, *after*
    filtering. Has no effect for other formats.
   </doc>
  </bitfield>
  <bitfield name="COMPARE_FUNC" low="1" high="3" type="adreno_compare_func"/>
  <bitfield name="CUBEMAPSEAMLESSFILTOFF" pos="4" type="boolean"/>
  <bitfield name="UNNORM_COORDS" pos="5" type="boolean"/>
  <bitfield name="MIPFILTER_LINEAR_FAR" pos="6" type="boolean"/>
  <bitfield name="MAX_LOD" low="8" high="19" type="ufixed" radix="8"/>
  <bitfield name="MIN_LOD" low="20" high="31" type="ufixed" radix="8"/>
 </reg32>
 <reg32 offset="2" name="2">
  <bitfield name="REDUCTION_MODE" low="0" high="1" type="a6xx_reduction_mode"/>
  <bitfield name="FASTBORDERCOLOR" low="2" high="3" type="a6xx_fast_border_color"/>
  <bitfield name="FASTBORDERCOLOREN" pos="4" type="boolean"/>
  <bitfield name="CHROMA_LINEAR" pos="5" type="boolean"/>
  <bitfield name="BCOLOR" low="7" high="31"/>
 </reg32>
 <reg32 offset="3" name="3"/>
</domain>

<domain name="A6XX_TEX_CONST" width="32" varset="chip">
 <doc>Texture constant dwords</doc>
 <enum name="a6xx_tex_swiz"<!-- same as a4xx? -->
  <value name="A6XX_TEX_X" value="0"/>
  <value name="A6XX_TEX_Y" value="1"/>
  <value name="A6XX_TEX_Z" value="2"/>
  <value name="A6XX_TEX_W" value="3"/>
  <value name="A6XX_TEX_ZERO" value="4"/>
  <value name="A6XX_TEX_ONE" value="5"/>
 </enum>
 <reg32 offset="0" name="0">
  <bitfield name="TILE_MODE" low="0" high="1" type="a6xx_tile_mode"/>
  <bitfield name="SRGB" pos="2" type="boolean"/>
  <bitfield name="SWIZ_X" low="4" high="6" type="a6xx_tex_swiz"/>
  <bitfield name="SWIZ_Y" low="7" high="9" type="a6xx_tex_swiz"/>
  <bitfield name="SWIZ_Z" low="10" high="12" type="a6xx_tex_swiz"/>
  <bitfield name="SWIZ_W" low="13" high="15" type="a6xx_tex_swiz"/>
  <bitfield name="MIPLVLS" low="16" high="19" type="uint"/>
  <!-- overlaps with MIPLVLS -->
  <bitfield name="CHROMA_MIDPOINT_X" pos="16" type="boolean"/>
  <bitfield name="CHROMA_MIDPOINT_Y" pos="18" type="boolean"/>
  <bitfield name="SAMPLES" low="20" high="21" type="a3xx_msaa_samples"/>
  <bitfield name="FMT" low="22" high="29" type="a6xx_format"/>
  <!--
Why is the swap needed in addition to SWIZ_*? The swap
is performed before border color replacement, while the
swizzle is applied after after it.
-->

  <bitfield name="SWAP" low="30" high="31" type="a3xx_color_swap"/>
 </reg32>
 <reg32 offset="1" name="1">
  <bitfield name="WIDTH" low="0" high="14" type="uint"/>
  <bitfield name="HEIGHT" low="15" high="29" type="uint"/>
  <bitfield name="MUTABLEEN" pos="31" type="boolean" variants="A7XX-"/>
 </reg32>
 <reg32 offset="2" name="2">
  <!--
These fields overlap PITCH, and are used instead of
PITCH/PITCHALIGN when TYPE is A6XX_TEX_BUFFER.
 -->

  <doc> probably for D3D structured UAVs, normally set to 1 </doc>
  <bitfield name="STRUCTSIZETEXELS" low="4" high="15" type="uint"/>
  <bitfield name="STARTOFFSETTEXELS" low="16" high="21" type="uint"/>

  <!-- minimum pitch (for mipmap levels): log2(pitchalign / 64) -->
  <bitfield name="PITCHALIGN" low="0" high="3" type="uint"/>
  <doc>Pitch in bytes (so actually stride)</doc>
  <bitfield name="PITCH" low="7" high="28" type="uint"/>
  <bitfield name="TYPE" low="29" high="31" type="a6xx_tex_type"/>
 </reg32>
 <reg32 offset="3" name="3">
  <!--
ARRAY_PITCH is basically LAYERSZ for the first mipmap level, and
for 3d textures (laid out mipmap level first) MIN_LAYERSZ is the
layer size at the point that it stops being reduced moving to
higher (smaller) mipmap levels
 -->

  <bitfield name="ARRAY_PITCH" low="0" high="22" shr="12" type="uint"/>
  <bitfield name="MIN_LAYERSZ" low="23" high="26" shr="12"/>
  <!--
by default levels with w < 16 are linear
TILE_ALL makes all levels have tiling
seems required when using UBWC, since all levels have UBWC (can possibly be disabled?)
 -->

  <bitfield name="TILE_ALL" pos="27" type="boolean"/>
  <bitfield name="FLAG" pos="28" type="boolean"/>
 </reg32>
 <!-- for 2-3 plane format, BASE is flag buffer address (if enabled)
     the address of the non-flag base buffer is determined automatically,
     and must follow the flag buffer
 -->

 <reg32 offset="4" name="4">
  <bitfield name="BASE_LO" low="5" high="31" shr="5"/>
 </reg32>
 <reg32 offset="5" name="5">
  <bitfield name="BASE_HI" low="0" high="16"/>
  <bitfield name="DEPTH" low="17" high="29" type="uint"/>
 </reg32>
 <reg32 offset="6" name="6">
  <!-- overlaps with PLANE_PITCH -->
  <bitfield name="MIN_LOD_CLAMP" low="0" high="11" type="ufixed" radix="8"/>
  <!-- pitch for plane 2 / plane 3 -->
  <bitfield name="PLANE_PITCH" low="8" high="31" type="uint"/>
 </reg32>
 <!-- 7/8 is plane 2 address for planar formats -->
 <reg32 offset="7" name="7">
  <bitfield name="FLAG_LO" low="5" high="31" shr="5"/>
 </reg32>
 <reg32 offset="8" name="8">
  <bitfield name="FLAG_HI" low="0" high="16"/>
 </reg32>
 <!-- 9/10 is plane 3 address for planar formats -->
 <reg32 offset="9" name="9">
  <bitfield name="FLAG_BUFFER_ARRAY_PITCH" low="0" high="16" shr="4" type="uint"/>
 </reg32>
 <reg32 offset="10" name="10">
  <bitfield name="FLAG_BUFFER_PITCH" low="0" high="6" shr="6" type="uint"/>
  <!-- log2 size of the first level, required for mipmapping -->
  <bitfield name="FLAG_BUFFER_LOGW" low="8" high="11" type="uint"/>
  <bitfield name="FLAG_BUFFER_LOGH" low="12" high="15" type="uint"/>
 </reg32>
 <reg32 offset="11" name="11"/>
 <reg32 offset="12" name="12"/>
 <reg32 offset="13" name="13"/>
 <reg32 offset="14" name="14"/>
 <reg32 offset="15" name="15"/>
</domain>

<domain name="A6XX_UBO" width="32">
 <reg32 offset="0" name="0">
  <bitfield name="BASE_LO" low="0" high="31"/>
 </reg32>
 <reg32 offset="1" name="1">
  <bitfield name="BASE_HI" low="0" high="16"/>
  <bitfield name="SIZE" low="17" high="31"/> <!-- size in vec4 (4xDWORD) units -->
 </reg32>
</domain>

</database>

Messung V0.5
C=97 H=94 G=95

¤ Dauer der Verarbeitung: 0.5 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.