freedreno/a6xx: Rename the RB_BLIT_INFO.INTEGER field to SAMPLE_0.
authorEric Anholt <eric@anholt.net>
Wed, 17 Mar 2021 16:43:58 +0000 (09:43 -0700)
committerMarge Bot <eric+marge@anholt.net>
Mon, 22 Mar 2021 19:07:08 +0000 (19:07 +0000)
As @samuelig found, this is the field for disabling sample averaging and
using sample 0 instead.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9661>

src/freedreno/registers/adreno/a6xx.xml
src/freedreno/vulkan/tu_clear_blit.c
src/gallium/drivers/freedreno/a6xx/fd6_gmem.c

index f43da37..8dffc44 100644 (file)
@@ -2126,7 +2126,7 @@ to upconvert to 32b float internally?
        <reg32 offset="0x88e3" name="RB_BLIT_INFO">
                <bitfield name="UNK0" pos="0" type="boolean"/> <!-- s8 stencil restore/clear?  But also color restore? -->
                <bitfield name="GMEM" pos="1" type="boolean"/> <!-- set for restore and clear to gmem? -->
-               <bitfield name="INTEGER" pos="2" type="boolean"/> <!-- probably -->
+               <bitfield name="SAMPLE_0" pos="2" type="boolean"/> <!-- takes sample 0 instead of averaging -->
                <bitfield name="DEPTH" pos="3" type="boolean"/> <!-- z16/z32/z24s8/x24x8 clear or resolve? -->
                <doc>
                        For clearing depth/stencil
index aabd25c..425f723 100644 (file)
@@ -2383,8 +2383,7 @@ tu_emit_blit(struct tu_cmd_buffer *cmd,
    tu_cs_emit_regs(cs, A6XX_RB_BLIT_INFO(
       .unk0 = !resolve,
       .gmem = !resolve,
-      /* "integer" bit disables msaa resolve averaging */
-      .integer = vk_format_is_int(attachment->format) |
+      .sample_0 = vk_format_is_int(attachment->format) |
          vk_format_is_depth_or_stencil(attachment->format)));
 
    tu_cs_emit_pkt4(cs, REG_A6XX_RB_BLIT_DST_INFO, 4);
index 7fdc0eb..0019a55 100644 (file)
@@ -942,7 +942,7 @@ emit_restore_blit(struct fd_batch *batch,
        OUT_REG(ring, A6XX_RB_BLIT_INFO(
                .gmem = true, .unk0 = true,
                .depth = (buffer == FD_BUFFER_DEPTH),
-               .integer = util_format_is_pure_integer(psurf->format)));
+               .sample_0 = util_format_is_pure_integer(psurf->format)));
 
        emit_blit(batch, ring, base, psurf, stencil);
 }
@@ -1256,7 +1256,7 @@ emit_resolve_blit(struct fd_batch *batch,
        }
 
        if (util_format_is_pure_integer(psurf->format))
-               info |= A6XX_RB_BLIT_INFO_INTEGER;
+               info |= A6XX_RB_BLIT_INFO_SAMPLE_0;
 
        OUT_PKT4(ring, REG_A6XX_RB_BLIT_INFO, 1);
        OUT_RING(ring, info);