[Mesa-dev] [PATCH 01/12] i965/rbc: Allow integer formats as advertised in isl_format.c

Jason Ekstrand jason at jlekstrand.net
Thu Sep 1 21:33:48 UTC 2016


On Wed, Aug 31, 2016 at 8:17 AM, Topi Pohjolainen <
topi.pohjolainen at intel.com> wrote:

> From: Topi Pohjolainen <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 <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())?


>           irb->mt->fast_clear_state = INTEL_FAST_CLEAR_STATE_UNRESOLVED;
>        }
>     }
> --
> 2.5.5
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20160901/7843d339/attachment.html>


More information about the mesa-dev mailing list