From 1e208aaef45a4ca005362e7acbc4eeac1a886e37 Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Fri, 21 Oct 2022 16:22:21 -0400 Subject: [PATCH] panfrost: Don't allow VS side effects on midgard So we can use the common XFB lowering, and try to reduce the differences between Midgard and Bifrost (given that Bifrost is conformant and actively maintained, and Midgard is neither, getting Midgard as close to Bifrost is in the best interests of Midgard's long term prospects upstream). Piles of KHR-GLES31 tests from Fail -> Skip. Signed-off-by: Alyssa Rosenzweig Part-of: --- src/gallium/drivers/panfrost/pan_screen.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/gallium/drivers/panfrost/pan_screen.c b/src/gallium/drivers/panfrost/pan_screen.c index 04e085882ba..94ff4a5d3a5 100644 --- a/src/gallium/drivers/panfrost/pan_screen.c +++ b/src/gallium/drivers/panfrost/pan_screen.c @@ -366,13 +366,9 @@ panfrost_get_shader_param(struct pipe_screen *screen, /* We only allow observable side effects (memory writes) in compute and * fragment shaders. Side effects in the geometry pipeline cause - * trouble with IDVS. - * - * This restriction doesn't apply to Midgard, which does not implement - * IDVS and therefore executes vertex shaders exactly once. + * trouble with IDVS and conflict with our transform feedback lowering. */ - bool allow_side_effects = (shader != PIPE_SHADER_VERTEX) || - (dev->arch <= 5); + bool allow_side_effects = (shader != PIPE_SHADER_VERTEX); switch (param) { case PIPE_SHADER_CAP_MAX_INSTRUCTIONS: