panfrost: Assert on unimplemented fragcoord etc
authorAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Tue, 21 Apr 2020 22:22:26 +0000 (18:22 -0400)
committerMarge Bot <eric+marge@anholt.net>
Wed, 22 Apr 2020 01:01:18 +0000 (01:01 +0000)
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4671>

src/gallium/drivers/panfrost/pan_cmdstream.c

index e207c6d96143f66decfd82041c224cffd509297e..d07e7ae278adff9f16f95f10017c7579e7c42789 100644 (file)
@@ -1682,6 +1682,9 @@ panfrost_emit_varying_descriptor(struct panfrost_batch *batch,
         if (fs->reads_frag_coord)
                 varyings[gl_FragCoord].elements = MALI_VARYING_FRAG_COORD;
 
+        struct panfrost_device *device = pan_device(ctx->base.screen);
+        assert(!(device->quirks & IS_BIFROST) || !(reads_point_coord || fs->reads_face || fs->reads_frag_coord));
+
         /* Let's go ahead and link varying meta to the buffer in question, now
          * that that information is available. VARYING_SLOT_POS is mapped to
          * gl_FragCoord for fragment shaders but gl_Positionf or vertex shaders