diff --git a/src/freedreno/registers/adreno/a6xx.xml b/src/freedreno/registers/adreno/a6xx.xml index 03100e020a3..e0bfeeeb8cf 100644 --- a/src/freedreno/registers/adreno/a6xx.xml +++ b/src/freedreno/registers/adreno/a6xx.xml @@ -1146,6 +1146,20 @@ to upconvert to 32b float internally? + + + + + + + + A special buffer type for usage as the source for buffer + to image copies with lower alignment requirements than + A6XX_TEX_2D, available since A7XX. + + + + Allow early z-test and early-lrz (if applicable) @@ -5373,8 +5387,11 @@ to upconvert to 32b float internally? - - + + @@ -5403,7 +5420,11 @@ to upconvert to 32b float internally? - + + + + + @@ -5918,13 +5939,6 @@ to upconvert to 32b float internally? - - - - - - - diff --git a/src/freedreno/vulkan/tu_clear_blit.cc b/src/freedreno/vulkan/tu_clear_blit.cc index bf9dce1a98b..9aeb2688053 100644 --- a/src/freedreno/vulkan/tu_clear_blit.cc +++ b/src/freedreno/vulkan/tu_clear_blit.cc @@ -465,8 +465,9 @@ r2d_setup_common(struct tu_cmd_buffer *cmd, tu_cs_emit(cs, blit_cntl); if (CHIP > A6XX) { - tu_cs_emit_pkt4(cs, REG_A7XX_SP_PS_UNKNOWN_B2D2, 1); - tu_cs_emit(cs, 0x20000000); + tu_cs_emit_regs(cs, A7XX_TPL1_2D_SRC_CNTL(.raw_copy = false, + .start_offset_texels = 0, + .type = A6XX_TEX_2D)); } if (fmt == FMT6_10_10_10_2_UNORM_DEST) diff --git a/src/gallium/drivers/freedreno/a6xx/fd6_blitter.cc b/src/gallium/drivers/freedreno/a6xx/fd6_blitter.cc index 01ed34b8af3..c603c2bb202 100644 --- a/src/gallium/drivers/freedreno/a6xx/fd6_blitter.cc +++ b/src/gallium/drivers/freedreno/a6xx/fd6_blitter.cc @@ -310,8 +310,11 @@ emit_blit_setup(struct fd_ringbuffer *ring, enum pipe_format pfmt, OUT_RING(ring, blit_cntl); if (CHIP >= A7XX) { - OUT_PKT4(ring, REG_A7XX_SP_PS_UNKNOWN_B2D2, 1); - OUT_RING(ring, 0x20000000); + OUT_REG(ring, A7XX_TPL1_2D_SRC_CNTL( + .raw_copy = false, + .start_offset_texels = 0, + .type = A6XX_TEX_2D, + )); } if (fmt == FMT6_10_10_10_2_UNORM_DEST)