panfrost: Disable point sprites on Bifrost
authorAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Sat, 31 Oct 2020 14:25:07 +0000 (10:25 -0400)
committerMarge Bot <eric+marge@anholt.net>
Tue, 3 Nov 2020 14:42:43 +0000 (14:42 +0000)
It doesn't look like the lowering in !6473 will land before the branch
point. Let's nop out point sprites in the backend to avoid MMU faults
from creating invalid Midgard-style varyings.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7408>

src/gallium/drivers/panfrost/pan_cmdstream.c

index 645047f..0653db3 100644 (file)
@@ -1720,6 +1720,11 @@ panfrost_emit_varying_descriptor(struct panfrost_batch *batch,
 
         struct pipe_stream_output_info *so = &vs->stream_output;
         uint16_t point_coord_mask = ctx->rasterizer->base.sprite_coord_enable;
+
+        /* TODO: point sprites need lowering on Bifrost */
+        if (dev->quirks & IS_BIFROST)
+                point_coord_mask =  0;
+
         unsigned present = pan_varying_present(vs, fs, dev->quirks, point_coord_mask);
 
         /* Check if this varying is linked by us. This is the case for