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

Iago Toral itoral at igalia.com
Thu Dec 14 07:03:53 UTC 2017


Thanks Ken!

Reviewed-by: Iago Toral Quiroga <itoral at igalia.com>

On Wed, 2017-12-13 at 12:25 -0800, Kenneth Graunke 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.
> 
> This fixes the following test when run with --deqp-surface-
> width=16384:
> - GTF-
> GL46.gtf30.GL3Tests.framebuffer_blit.framebuffer_blit_error_blitframe
> buffer_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:


More information about the mesa-dev mailing list