mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-06 02:58:05 +02:00
freedreno/registers: Fix gen8 swizzle enum
Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38450>
This commit is contained in:
parent
39bf9c0222
commit
d3e479b5c5
6 changed files with 35 additions and 8 deletions
|
|
@ -11,6 +11,7 @@
|
|||
|
||||
#include "a6xx_enums.xml.h"
|
||||
#include "a7xx_enums.xml.h"
|
||||
#include "a8xx_enums.xml.h"
|
||||
#include "a6xx_perfcntrs.xml.h"
|
||||
#include "a7xx_perfcntrs.xml.h"
|
||||
#include "a6xx_descriptors.xml.h"
|
||||
|
|
|
|||
|
|
@ -33,6 +33,20 @@ fdl6_swiz(unsigned char swiz)
|
|||
return (enum a6xx_tex_swiz) swiz;
|
||||
}
|
||||
|
||||
static inline enum a8xx_tex_swiz
|
||||
fdl8_swiz(unsigned char swiz)
|
||||
{
|
||||
switch (swiz) {
|
||||
case PIPE_SWIZZLE_X: return A8XX_SWIZ_X;
|
||||
case PIPE_SWIZZLE_Y: return A8XX_SWIZ_Y;
|
||||
case PIPE_SWIZZLE_Z: return A8XX_SWIZ_Z;
|
||||
case PIPE_SWIZZLE_W: return A8XX_SWIZ_W;
|
||||
case PIPE_SWIZZLE_0: return A8XX_SWIZ_ZERO;
|
||||
case PIPE_SWIZZLE_1: return A8XX_SWIZ_ONE;
|
||||
default: return A8XX_SWIZ_IDENTITY;
|
||||
}
|
||||
}
|
||||
|
||||
enum a6xx_depth_format fd6_pipe2depth(enum pipe_format format);
|
||||
|
||||
enum a6xx_format fd6_vertex_format(enum pipe_format format) ATTRIBUTE_CONST;
|
||||
|
|
|
|||
|
|
@ -139,10 +139,10 @@ fdl6_texswiz(const struct fdl_view_args *args, bool has_z24uint_s8uint)
|
|||
A6XX_TEX_CONST_0_SWIZ_Z(fdl6_swiz(swiz[2])) |
|
||||
A6XX_TEX_CONST_0_SWIZ_W(fdl6_swiz(swiz[3]));
|
||||
} else if (CHIP >= A8XX) {
|
||||
return A8XX_TEX_MEMOBJ_3_SWIZ_X(fdl6_swiz(swiz[0])) |
|
||||
A8XX_TEX_MEMOBJ_3_SWIZ_Y(fdl6_swiz(swiz[1])) |
|
||||
A8XX_TEX_MEMOBJ_3_SWIZ_Z(fdl6_swiz(swiz[2])) |
|
||||
A8XX_TEX_MEMOBJ_3_SWIZ_W(fdl6_swiz(swiz[3]));
|
||||
return A8XX_TEX_MEMOBJ_3_SWIZ_X(fdl8_swiz(swiz[0])) |
|
||||
A8XX_TEX_MEMOBJ_3_SWIZ_Y(fdl8_swiz(swiz[1])) |
|
||||
A8XX_TEX_MEMOBJ_3_SWIZ_Z(fdl8_swiz(swiz[2])) |
|
||||
A8XX_TEX_MEMOBJ_3_SWIZ_W(fdl8_swiz(swiz[3]));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ xsi:schemaLocation="https://gitlab.freedesktop.org/freedreno/ rules-fd.xsd">
|
|||
<import file="adreno/adreno_common.xml"/>
|
||||
<import file="adreno/adreno_pm4.xml"/>
|
||||
<import file="adreno/a6xx_enums.xml"/>
|
||||
<import file="adreno/a8xx_enums.xml"/>
|
||||
|
||||
<domain name="A8XX_TEX_SAMP" width="32">
|
||||
<doc>Texture sampler dwords</doc>
|
||||
|
|
@ -56,10 +57,10 @@ xsi:schemaLocation="https://gitlab.freedesktop.org/freedreno/ rules-fd.xsd">
|
|||
<reg32 offset="3" name="3">
|
||||
<bitfield name="FMT" low="0" high="7" type="a6xx_format"/>
|
||||
<bitfield name="SWAP" low="8" high="9" type="a3xx_color_swap"/>
|
||||
<bitfield name="SWIZ_X" low="10" high="12" type="a6xx_tex_swiz"/>
|
||||
<bitfield name="SWIZ_Y" low="13" high="15" type="a6xx_tex_swiz"/>
|
||||
<bitfield name="SWIZ_Z" low="16" high="18" type="a6xx_tex_swiz"/>
|
||||
<bitfield name="SWIZ_W" low="19" high="21" type="a6xx_tex_swiz"/>
|
||||
<bitfield name="SWIZ_X" low="10" high="12" type="a8xx_tex_swiz"/>
|
||||
<bitfield name="SWIZ_Y" low="13" high="15" type="a8xx_tex_swiz"/>
|
||||
<bitfield name="SWIZ_Z" low="16" high="18" type="a8xx_tex_swiz"/>
|
||||
<bitfield name="SWIZ_W" low="19" high="21" type="a8xx_tex_swiz"/>
|
||||
</reg32>
|
||||
<reg32 offset="4" name="4">
|
||||
<bitfield name="TILE_MODE" low="0" high="1" type="a6xx_tile_mode"/>
|
||||
|
|
|
|||
|
|
@ -286,4 +286,14 @@ xsi:schemaLocation="https://gitlab.freedesktop.org/freedreno/ rules-fd.xsd">
|
|||
<value value="15" name="A8XX_SPTOP"/>
|
||||
</enum>
|
||||
|
||||
<enum name="a8xx_tex_swiz">
|
||||
<value name="A8XX_SWIZ_IDENTITY" value="0"/>
|
||||
<value name="A8XX_SWIZ_ZERO" value="1"/>
|
||||
<value name="A8XX_SWIZ_ONE" value="2"/>
|
||||
<value name="A8XX_SWIZ_X" value="3"/>
|
||||
<value name="A8XX_SWIZ_Y" value="4"/>
|
||||
<value name="A8XX_SWIZ_Z" value="5"/>
|
||||
<value name="A8XX_SWIZ_W" value="6"/>
|
||||
</enum>
|
||||
|
||||
</database>
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ xml_reg_files = [
|
|||
'a6xx_perfcntrs.xml',
|
||||
'a7xx_enums.xml',
|
||||
'a7xx_perfcntrs.xml',
|
||||
'a8xx_enums.xml',
|
||||
'a8xx_descriptors.xml',
|
||||
]
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue