[Intel-gfx] [RFC v3 4/9] drm/i915/tgl: Gen-12 render decompression
Ville Syrjälä
ville.syrjala at linux.intel.com
Thu Oct 3 12:00:32 UTC 2019
On Wed, Oct 02, 2019 at 03:32:41PM -0700, Matt Roper wrote:
> On Mon, Sep 23, 2019 at 03:29:30AM -0700, Dhinakaran Pandiyan wrote:
> > Gen-12 display decompression operates on Y-tiled compressed main surface.
> > The CCS is linear
>
> I'd mention in the commit message that we opt to to treat the
> CCS as if it were a bunch of 64x1 tiles.
>
> There are a handful of cosmetic changes suggested below, but otherwise,
>
> Reviewed-by: Matt Roper <matthew.d.roper at intel.com>
>
> > and has 4 bits of metadata for each main surface cache
> > line pair, a size ratio of 1:256. Gen-12 display decompression is
> > incompatible with buffers compressed by earlier GPUs, so make use of a new
> > modifier to identify gen-12 compression. Another notable change is that
> > render decompression is supported on all planes except cursor and on all
> > pipes. Start by adding render decompression support for [A,X]BGR888 pixel
> > formats.
> >
> > v2: Fix checkpatch warnings (Lucas)
> > v3:
> > Rebase, disable color clear, styling changes and modify
> > intel_tile_width_bytes and intel_tile_height to handle linear CCS
> >
> > Cc: Ville Syrjälä <ville.syrjala at linux.intel.com>
> > Cc: Matt Roper <matthew.d.roper at intel.com>
> > Cc: Nanley G Chery <nanley.g.chery at intel.com>
> > Cc: Jason Ekstrand <jason at jlekstrand.net>
> > Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan at intel.com>
> > Signed-off-by: Lucas De Marchi <lucas.demarchi at intel.com>
> > ---
> > drivers/gpu/drm/i915/display/intel_display.c | 85 ++++++++++++++++----
> > drivers/gpu/drm/i915/display/intel_sprite.c | 23 ++++--
> > drivers/gpu/drm/i915/i915_reg.h | 1 +
> > 3 files changed, 84 insertions(+), 25 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> > index c437f00c2072..6fec43cdddf4 100644
> > --- a/drivers/gpu/drm/i915/display/intel_display.c
> > +++ b/drivers/gpu/drm/i915/display/intel_display.c
> > @@ -1911,6 +1911,10 @@ intel_tile_width_bytes(const struct drm_framebuffer *fb, int color_plane)
> > if (color_plane == 1)
> > return 128;
> > /* fall through */
> > + case I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS:
> > + if (color_plane == 1)
> > + return 64;
> > + /* fall through */
I don't remember off hand if we even need this thing here. Maybe we can
just let it go the same path as normal linear stuff?
--
Ville Syrjälä
Intel
More information about the Intel-gfx
mailing list