[Mesa-dev] [PATCH] i965: Don't allocate an MCS for 16x MSAA and width > 8192.

Jason Ekstrand jason at jlekstrand.net
Wed Dec 13 21:51:13 UTC 2017


On Wed, Dec 13, 2017 at 12:25 PM, Kenneth Graunke <kenneth at whitecape.org>
wrote:

> The hardware doesn't support this, and isl_surf_get_mcs_surf will fail.
>
> I feel a bit bad replicating this logic, but we want to decide up front.
>

I do too.  One of these days, I'd like to move things around so that we
just call isl_surf_get_mcs_surf and disable MCS if it fails.  But that's a
lot of refactoring.

Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>


> This fixes the following test when run with --deqp-surface-width=16384:
> - GTF-GL46.gtf30.GL3Tests.framebuffer_blit.framebuffer_
> blit_error_blitframebuffer_multisampled_framebuffers_
> different_sample_count
>
> Cc: itoral at igalia.com
> Cc: apuentes at igalia.com
> Cc: idr at freedesktop.org
> ---
>  src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 4 ++++
>  1 file changed, 4 insertions(+)
>
> diff --git a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
> b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
> index c1a4ce184f5..ead0c359c0f 100644
> --- a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
> +++ b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
> @@ -73,6 +73,10 @@ intel_miptree_supports_mcs(struct brw_context *brw,
>     if (devinfo->gen < 7)
>        return false;
>
> +   /* See isl_surf_get_mcs_surf for details. */
> +   if (mt->surf.samples == 16 && mt->surf.logical_level0_px.width > 8192)
> +      return false;
> +
>     /* In Gen7, IMS layout is only used for depth and stencil buffers. */
>     switch (_mesa_get_format_base_format(mt->format)) {
>     case GL_DEPTH_COMPONENT:
> --
> 2.15.1
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20171213/99910b56/attachment.html>


More information about the mesa-dev mailing list