[Mesa-dev] [PATCH 01/12] i965/rbc: Allow integer formats as advertised in isl_format.c
Pohjolainen, Topi
topi.pohjolainen at gmail.com
Fri Sep 2 10:07:08 UTC 2016
On Fri, Sep 02, 2016 at 08:34:27AM +0300, Pohjolainen, Topi wrote:
> On Thu, Sep 01, 2016 at 02:33:48PM -0700, Jason Ekstrand wrote:
> > On Wed, Aug 31, 2016 at 8:17 AM, Topi Pohjolainen
> > <[1]topi.pohjolainen at intel.com> wrote:
> >
> > From: Topi Pohjolainen <[2]topi.pohjolainen at gmail.com>
> > Blorp consults brw_is_color_fast_clear_compatible() to see if any
> > restrictions apply for fast clear in addition to the capablities
> > advertised in isl_format.c::format_info[]. On Gen8+ integer formats
> > are backlisted for plain old fast clear but there is no reason why
> > lossless compression shouldn't be supported. In fact, lossless
> > compression of integer formats is already supported for normal
> > render paths.
> > This patch prepares for dropping the delayed allocating of the mcs
> > buffer for lossless compression. Until now the skip of fast clear
> > also prevented the mcs being allocated and hence the lossless
> > compression being effectively turned off for integer formats.
> > Once the mcs buffer is allocated beforehand, the assertion addressed
> > here would start triggering.
> > Signed-off-by: Topi Pohjolainen <[3]topi.pohjolainen at intel.com>
> > ---
> > src/mesa/drivers/dri/i965/brw_blorp.c | 6 +++++-
> > 1 file changed, 5 insertions(+), 1 deletion(-)
> > diff --git a/src/mesa/drivers/dri/i965/brw_blorp.c
> > b/src/mesa/drivers/dri/i965/brw_blorp.c
> > index c902f2e..7e257e9 100644
> > --- a/src/mesa/drivers/dri/i965/brw_blorp.c
> > +++ b/src/mesa/drivers/dri/i965/brw_blorp.c
> > @@ -761,8 +761,12 @@ do_single_blorp_clear(struct brw_context *brw,
> > struct gl_framebuffer *fb,
> > /* Compressed buffers can be cleared also using normal
> > rep-clear. In
> > * such case they bahave such as if they were drawn using
> > normal 3D
> > * render pipeline, and we simply mark the mcs as dirty.
> > + *
> > + * Fast clear of integer formats is not supported on
> > Gen8+. See
> > + * brw_is_color_fast_clear_compatible(). This, however,
> > doesn't
> > + * prevent lossless compression on Gen9+.
> > */
> > - assert(partial_clear);
> > + assert(partial_clear || _mesa_is_format_integer_color(
> > format));
> >
> > How about assert(isl_format_supports_lossless_compression())?
>
> Instead of _mesa_is_format_integer_color()? Sounds good to me.
Well, I suppose we could just drop the assert? This is in a conditional
block:
if (intel_miptree_is_lossless_compressed(brw, irb->mt)) {
/* Compressed buffers can be cleared also using normal rep-clear. In
* such case they bahave such as if they were drawn using normal 3D
* render pipeline, and we simply mark the mcs as dirty.
*
* Fast clear of integer formats is not supported on Gen8+. See
* brw_is_color_fast_clear_compatible(). This, however, doesn't
* prevent lossless compression on Gen9+.
*/
assert(partial_clear || _mesa_is_format_integer_color(format));
>
> >
> > irb->mt->fast_clear_state = INTEL_FAST_CLEAR_STATE_
> > UNRESOLVED;
> > }
> > }
> > --
> > 2.5.5
> > _______________________________________________
> > mesa-dev mailing list
> > [4]mesa-dev at lists.freedesktop.org
> > [5]https://lists.freedesktop.org/mailman/listinfo/mesa-dev
> >
> > References
> >
> > 1. mailto:topi.pohjolainen at intel.com
> > 2. mailto:topi.pohjolainen at gmail.com
> > 3. mailto:topi.pohjolainen at intel.com
> > 4. mailto:mesa-dev at lists.freedesktop.org
> > 5. https://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list