amd/common: Store non-displayable DCC pitch.
authorBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Sun, 2 Aug 2020 23:05:07 +0000 (01:05 +0200)
committerMarek Olšák <marek.olsak@amd.com>
Sat, 19 Sep 2020 07:15:14 +0000 (03:15 -0400)
For DRM planes with modifiers.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6783>

src/amd/common/ac_surface.c
src/amd/common/ac_surface.h

index 223a61e..484db1d 100644 (file)
@@ -1569,6 +1569,7 @@ static int gfx9_compute_miptree(struct ac_addrlib *addrlib, const struct radeon_
          surf->u.gfx9.display_dcc_size = surf->dcc_size;
          surf->u.gfx9.display_dcc_alignment = surf->dcc_alignment;
          surf->u.gfx9.display_dcc_pitch_max = dout.pitch - 1;
+         surf->u.gfx9.dcc_pitch_max = dout.pitch - 1;
 
          /* Compute displayable DCC. */
          if (in->flags.display && surf->num_dcc_levels && info->use_display_dcc_with_retile_blit) {
index 5605ba7..ec6d044 100644 (file)
@@ -180,6 +180,7 @@ struct gfx9_surf_layout {
    uint32_t display_dcc_size;
    uint32_t display_dcc_alignment;
    uint16_t display_dcc_pitch_max; /* (mip chain pitch - 1) */
+   uint16_t dcc_pitch_max;
    bool dcc_retile_use_uint16;     /* if all values fit into uint16_t */
    uint32_t dcc_retile_num_elements;
    void *dcc_retile_map;