mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-06-10 03:28:18 +02:00
freedreno/registers: Improve A2D docs
Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42089>
This commit is contained in:
parent
88210dfcf5
commit
aea956a25f
7 changed files with 828 additions and 813 deletions
|
|
@ -2170,12 +2170,12 @@ by a particular renderpass/blit.
|
|||
<bitfield name="SCISSOR" pos="16" type="boolean"/>
|
||||
<bitfield name="UNK17" low="17" high="18"/>
|
||||
<!-- required when blitting D24S8/D24X8 -->
|
||||
<bitfield name="D24S8" pos="19" type="boolean"/>
|
||||
<bitfield name="IS_SRC_YUV" pos="19" type="boolean"/>
|
||||
<!-- some sort of channel mask, disabled channels are set to zero ? -->
|
||||
<bitfield name="MASK" low="20" high="23"/>
|
||||
<bitfield name="IFMT" low="24" high="26" type="a6xx_2d_ifmt"/>
|
||||
<bitfield name="UNK27" pos="27" type="boolean"/>
|
||||
<bitfield name="UNK28" pos="28" type="boolean"/>
|
||||
<bitfield name="FULL_RANGE_YUV" pos="27" type="boolean"/>
|
||||
<bitfield name="LINEAR_YUV" pos="28" type="boolean"/>
|
||||
<bitfield name="RASTER_MODE" pos="29" type="a6xx_raster_mode"/>
|
||||
<bitfield name="COPY" pos="30" type="boolean" variants="A7XX-"/>
|
||||
</bitset>
|
||||
|
|
@ -2761,7 +2761,22 @@ by a particular renderpass/blit.
|
|||
<reg32 offset="0x8a30" name="RB_UNKNOWN_8A30" variants="A6XX" usage="draw"/>
|
||||
|
||||
<reg32 offset="0x8c00" name="RB_A2D_BLT_CNTL" type="a6xx_a2d_blt_cntl" usage="blit"/>
|
||||
<reg32 offset="0x8c01" name="RB_A2D_PIXEL_CNTL" low="0" high="31" usage="blit"/>
|
||||
|
||||
<enum name="a6xx_a2d_pixel_op">
|
||||
<value value="0" name="PIXEL_OP_DISABLED"/>
|
||||
<value value="1" name="PIXEL_OP_BLENDING"/>
|
||||
<value value="3" name="PIXEL_OP_ROP"/>
|
||||
</enum>
|
||||
|
||||
<reg32 offset="0x8c01" name="RB_A2D_PIXEL_CNTL" low="0" high="31" usage="blit">
|
||||
<bitfield name="PIXEL_OP" low="0" high="1" type="a6xx_a2d_pixel_op"/>
|
||||
<bitfield name="COLOR_SRC_FACTOR" low="6" high="10" type="adreno_rb_blend_factor"/>
|
||||
<bitfield name="COLOR_BLEND_OP" low="11" high="13" type="a3xx_rb_blend_opcode"/>
|
||||
<bitfield name="COLOR_DST_FACTOR" low="14" high="18" type="adreno_rb_blend_factor"/>
|
||||
<bitfield name="ALPHA_SRC_FACTOR" low="19" high="23" type="adreno_rb_blend_factor"/>
|
||||
<bitfield name="ALPHA_BLEND_OP" low="24" high="26" type="a3xx_rb_blend_opcode"/>
|
||||
<bitfield name="ALPHA_DST_FACTOR" low="27" high="31" type="adreno_rb_blend_factor"/>
|
||||
</reg32>
|
||||
|
||||
<bitset name="a6xx_a2d_src_texture_info" inline="yes">
|
||||
<bitfield name="COLOR_FORMAT" low="0" high="7" type="a6xx_format"/>
|
||||
|
|
@ -2814,7 +2829,7 @@ by a particular renderpass/blit.
|
|||
<reg32 offset="0x8c2e" name="RB_A2D_CLEAR_COLOR_DW2" usage="blit"/>
|
||||
<reg32 offset="0x8c2f" name="RB_A2D_CLEAR_COLOR_DW3" usage="blit"/>
|
||||
|
||||
<reg32 offset="0x8c34" name="RB_A2D_UNKNOWN_8C34" variants="A7XX-" usage="blit"/>
|
||||
<reg32 offset="0x8c34" name="RB_A2D_DEST_BUFFER_ARRAY_PITCH" variants="A7XX-" usage="blit"/>
|
||||
|
||||
<!-- 0x8c35-0x8dff invalid -->
|
||||
|
||||
|
|
|
|||
|
|
@ -5774,7 +5774,7 @@ WARNING: 64b discontinuity (no _LO dword for 8910)
|
|||
00000000 RB_COLOR_FLAG_BUFFER[0x7].ADDR: 0
|
||||
00000000 RB_COLOR_FLAG_BUFFER[0x7].PITCH: { PITCH = 0 | ARRAY_PITCH = 0 }
|
||||
00000000 RB_A2D_BLT_CNTL: { ROTATE = ROTATE_0 | COLOR_FORMAT = 0 | MASK = 0 | IFMT = R2D_UNORM8 | RASTER_MODE = TYPE_TILED }
|
||||
00000000 RB_A2D_PIXEL_CNTL: 0
|
||||
00000000 RB_A2D_PIXEL_CNTL: { PIXEL_OP = PIXEL_OP_DISABLED | COLOR_SRC_FACTOR = FACTOR_ZERO | COLOR_BLEND_OP = BLEND_DST_PLUS_SRC | COLOR_DST_FACTOR = FACTOR_ZERO | ALPHA_SRC_FACTOR = FACTOR_ZERO | ALPHA_BLEND_OP = BLEND_DST_PLUS_SRC | ALPHA_DST_FACTOR = FACTOR_ZERO }
|
||||
00000000 0x8c08: 00000000
|
||||
00000000 0x8c09: 00000000
|
||||
00000000 0x8c0a: 00000000
|
||||
|
|
@ -5951,7 +5951,7 @@ WARNING: 64b discontinuity (no _LO dword for 8910)
|
|||
00000000 RB_COLOR_FLAG_BUFFER[0x7].ADDR: 0
|
||||
00000000 RB_COLOR_FLAG_BUFFER[0x7].PITCH: { PITCH = 0 | ARRAY_PITCH = 0 }
|
||||
00000000 RB_A2D_BLT_CNTL: { ROTATE = ROTATE_0 | COLOR_FORMAT = 0 | MASK = 0 | IFMT = R2D_UNORM8 | RASTER_MODE = TYPE_TILED }
|
||||
00000000 RB_A2D_PIXEL_CNTL: 0
|
||||
00000000 RB_A2D_PIXEL_CNTL: { PIXEL_OP = PIXEL_OP_DISABLED | COLOR_SRC_FACTOR = FACTOR_ZERO | COLOR_BLEND_OP = BLEND_DST_PLUS_SRC | COLOR_DST_FACTOR = FACTOR_ZERO | ALPHA_SRC_FACTOR = FACTOR_ZERO | ALPHA_BLEND_OP = BLEND_DST_PLUS_SRC | ALPHA_DST_FACTOR = FACTOR_ZERO }
|
||||
00000000 0x8c08: 00000000
|
||||
00000000 0x8c09: 00000000
|
||||
00000000 0x8c0a: 00000000
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -232,13 +232,13 @@ cmdstream[0]: 265 dwords
|
|||
opcode: CP_WAIT_FOR_IDLE (26) (1 dwords)
|
||||
0000000001058274: 0000: 70268000
|
||||
write RB_A2D_PIXEL_CNTL (8c01)
|
||||
RB_A2D_PIXEL_CNTL: 0
|
||||
RB_A2D_PIXEL_CNTL: { PIXEL_OP = PIXEL_OP_DISABLED | COLOR_SRC_FACTOR = FACTOR_ZERO | COLOR_BLEND_OP = BLEND_DST_PLUS_SRC | COLOR_DST_FACTOR = FACTOR_ZERO | ALPHA_SRC_FACTOR = FACTOR_ZERO | ALPHA_BLEND_OP = BLEND_DST_PLUS_SRC | ALPHA_DST_FACTOR = FACTOR_ZERO }
|
||||
0000000001058278: 0000: 488c0101 00000000
|
||||
write RB_A2D_BLT_CNTL (8c00)
|
||||
RB_A2D_BLT_CNTL: { ROTATE = ROTATE_0 | SOLID_COLOR | COLOR_FORMAT = FMT6_8_8_8_8_UNORM | MASK = 0xf | IFMT = R2D_UNORM8 | UNK28 | RASTER_MODE = TYPE_TILED }
|
||||
RB_A2D_BLT_CNTL: { ROTATE = ROTATE_0 | SOLID_COLOR | COLOR_FORMAT = FMT6_8_8_8_8_UNORM | MASK = 0xf | IFMT = R2D_UNORM8 | LINEAR_YUV | RASTER_MODE = TYPE_TILED }
|
||||
0000000001058280: 0000: 408c0001 10f03080
|
||||
write GRAS_A2D_BLT_CNTL (8400)
|
||||
GRAS_A2D_BLT_CNTL: { ROTATE = ROTATE_0 | SOLID_COLOR | COLOR_FORMAT = FMT6_8_8_8_8_UNORM | MASK = 0xf | IFMT = R2D_UNORM8 | UNK28 | RASTER_MODE = TYPE_TILED }
|
||||
GRAS_A2D_BLT_CNTL: { ROTATE = ROTATE_0 | SOLID_COLOR | COLOR_FORMAT = FMT6_8_8_8_8_UNORM | MASK = 0xf | IFMT = R2D_UNORM8 | LINEAR_YUV | RASTER_MODE = TYPE_TILED }
|
||||
0000000001058288: 0000: 48840001 10f03080
|
||||
write SP_A2D_OUTPUT_INFO (acc0)
|
||||
SP_A2D_OUTPUT_INFO: { IFMT_TYPE = OUTPUT_IFMT_2D_FLOAT | COLOR_FORMAT = FMT6_8_8_8_8_UNORM | MASK = 0xf }
|
||||
|
|
@ -277,7 +277,7 @@ cmdstream[0]: 265 dwords
|
|||
+? 00000000 GRAS_SC_SCREEN_SCISSOR_CNTL: { 0 }
|
||||
+? 00000000 GRAS_LRZ_CNTL: { DIR = 0 }
|
||||
+? 00000000 GRAS_MODE_CNTL: 0
|
||||
!+ 10f03080 GRAS_A2D_BLT_CNTL: { ROTATE = ROTATE_0 | SOLID_COLOR | COLOR_FORMAT = FMT6_8_8_8_8_UNORM | MASK = 0xf | IFMT = R2D_UNORM8 | UNK28 | RASTER_MODE = TYPE_TILED }
|
||||
!+ 10f03080 GRAS_A2D_BLT_CNTL: { ROTATE = ROTATE_0 | SOLID_COLOR | COLOR_FORMAT = FMT6_8_8_8_8_UNORM | MASK = 0xf | IFMT = R2D_UNORM8 | LINEAR_YUV | RASTER_MODE = TYPE_TILED }
|
||||
+ 00000000 GRAS_A2D_DEST_TL: { X = 0 | Y = 0 }
|
||||
!+ 00ff00ff GRAS_A2D_DEST_BR: { X = 255 | Y = 255 }
|
||||
!+? 00000880 GRAS_DBG_ECO_CNTL: { UNK7 | LRZCACHELOCKDIS }
|
||||
|
|
@ -295,8 +295,8 @@ cmdstream[0]: 265 dwords
|
|||
+? 00000000 RB_UNKNOWN_881E: 0
|
||||
+? 00000000 RB_LRZ_CNTL: { 0 }
|
||||
+? 00000000 RB_UNKNOWN_88F0: 0
|
||||
!+ 10f03080 RB_A2D_BLT_CNTL: { ROTATE = ROTATE_0 | SOLID_COLOR | COLOR_FORMAT = FMT6_8_8_8_8_UNORM | MASK = 0xf | IFMT = R2D_UNORM8 | UNK28 | RASTER_MODE = TYPE_TILED }
|
||||
+ 00000000 RB_A2D_PIXEL_CNTL: 0
|
||||
!+ 10f03080 RB_A2D_BLT_CNTL: { ROTATE = ROTATE_0 | SOLID_COLOR | COLOR_FORMAT = FMT6_8_8_8_8_UNORM | MASK = 0xf | IFMT = R2D_UNORM8 | LINEAR_YUV | RASTER_MODE = TYPE_TILED }
|
||||
+ 00000000 RB_A2D_PIXEL_CNTL: { PIXEL_OP = PIXEL_OP_DISABLED | COLOR_SRC_FACTOR = FACTOR_ZERO | COLOR_BLEND_OP = BLEND_DST_PLUS_SRC | COLOR_DST_FACTOR = FACTOR_ZERO | ALPHA_SRC_FACTOR = FACTOR_ZERO | ALPHA_BLEND_OP = BLEND_DST_PLUS_SRC | ALPHA_DST_FACTOR = FACTOR_ZERO }
|
||||
!+ 00001330 RB_A2D_DEST_BUFFER_INFO: { COLOR_FORMAT = FMT6_8_8_8_8_UNORM | TILE_MODE = TILE6_3 | COLOR_SWAP = WZYX | FLAGS | SAMPLES = MSAA_ONE }
|
||||
!+ 01013000 RB_A2D_DEST_BUFFER_BASE: 0x1013000
|
||||
!+ 00000010 RB_A2D_DEST_BUFFER_PITCH: 1024
|
||||
|
|
|
|||
|
|
@ -507,7 +507,7 @@ r2d_setup_common(struct tu_cmd_buffer *cmd,
|
|||
.solid_color = clear,
|
||||
.color_format = fmt,
|
||||
.scissor = scissor,
|
||||
.d24s8 = fmt == FMT6_Z24_UNORM_S8_UINT_AS_R8G8B8A8 && !clear,
|
||||
.is_src_yuv = fmt == FMT6_Z24_UNORM_S8_UINT_AS_R8G8B8A8 && !clear,
|
||||
.mask = 0xf,
|
||||
.ifmt = util_format_is_srgb(dst_format) ? R2D_UNORM8_SRGB : ifmt,
|
||||
));
|
||||
|
|
@ -517,7 +517,7 @@ r2d_setup_common(struct tu_cmd_buffer *cmd,
|
|||
.solid_color = clear,
|
||||
.color_format = fmt,
|
||||
.scissor = scissor,
|
||||
.d24s8 = fmt == FMT6_Z24_UNORM_S8_UINT_AS_R8G8B8A8 && !clear,
|
||||
.is_src_yuv = fmt == FMT6_Z24_UNORM_S8_UINT_AS_R8G8B8A8 && !clear,
|
||||
.mask = 0xf,
|
||||
.ifmt = util_format_is_srgb(dst_format) ? R2D_UNORM8_SRGB : ifmt,
|
||||
));
|
||||
|
|
|
|||
|
|
@ -2415,7 +2415,7 @@ tu_init_hw_rp(struct tu_cs *cs)
|
|||
{
|
||||
if (CHIP >= A7XX) {
|
||||
tu_cs_emit_regs(cs, VPC_UNKNOWN_CNTL(CHIP));
|
||||
tu_cs_emit_regs(cs, RB_A2D_UNKNOWN_8C34(CHIP));
|
||||
tu_cs_emit_regs(cs, RB_A2D_DEST_BUFFER_ARRAY_PITCH(CHIP));
|
||||
}
|
||||
}
|
||||
TU_GENX(tu_init_hw_rp);
|
||||
|
|
|
|||
|
|
@ -926,7 +926,7 @@ fd6_emit_static_non_context_regs(struct fd_context *ctx, fd_cs &cs)
|
|||
ncrb.add(RB_UNKNOWN_8E09(CHIP, 0x7));
|
||||
|
||||
if (CHIP >= A7XX)
|
||||
ncrb.add(RB_A2D_UNKNOWN_8C34(CHIP));
|
||||
ncrb.add(RB_A2D_DEST_BUFFER_ARRAY_PITCH(CHIP));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue