On Thu, Feb 11, 2016 at 08:33:58PM +0200, Topi Pohjolainen wrote: > Signed-off-by: Topi Pohjolainen <[email protected]> > --- > src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 26 ++++++++++++++++++++++++++ > src/mesa/drivers/dri/i965/intel_mipmap_tree.h | 4 ++++ > 2 files changed, 30 insertions(+) > > diff --git a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c > b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c > index 5f739d9..31de1ff 100644 > --- a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c > +++ b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c > @@ -266,6 +266,32 @@ intel_miptree_supports_non_msrt_fast_clear(struct > brw_context *brw, > return true; > } > > +/* On Gen9 support for color buffer compression was extended to single > + * sampled surfaces. This is a helper considering both auxiliary buffer > + * type and number of samples telling if the given miptree represents > + * the new single sampled case - also called lossless compression. > + */ > +bool > +intel_miptree_is_lossless_compressed(const struct brw_context *brw, > + const struct intel_mipmap_tree *mt) > +{ > + /* Only available from Gen9 onwards. */ > + if (brw->gen < 9) > + return false; > + > + /* Compression always requires auxiliary buffer. */ > + if (!mt->mcs_mt) > + return false; > + > + /* Single sample compression is represented re-using msaa compression > + * layout type: "Compressed Multisampled Surfaces". > + */ > + if (mt->msaa_layout != INTEL_MSAA_LAYOUT_CMS) > + return false; > + > + /* And finally distinguish between msaa and single sample case. */ > + return mt->num_samples <= 1; > +} > > /** > * Determine depth format corresponding to a depth+stencil format, > diff --git a/src/mesa/drivers/dri/i965/intel_mipmap_tree.h > b/src/mesa/drivers/dri/i965/intel_mipmap_tree.h > index 64f73ea..13d4d7e 100644 > --- a/src/mesa/drivers/dri/i965/intel_mipmap_tree.h > +++ b/src/mesa/drivers/dri/i965/intel_mipmap_tree.h > @@ -667,6 +667,10 @@ intel_get_non_msrt_mcs_alignment(struct > intel_mipmap_tree *mt, > unsigned *width_px, unsigned *height); > > bool > +intel_miptree_is_lossless_compressed(const struct brw_context *brw, > + const struct intel_mipmap_tree *mt); > + > +bool > intel_miptree_alloc_non_msrt_mcs(struct brw_context *brw, > struct intel_mipmap_tree *mt); >
So I take it this was one of the big changes from my feedback earlier. Do you prefer this result, or what? I can live with the old thing if you want it. _______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
