[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