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 <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19238>
This commit is contained in:
Alyssa Rosenzweig
2022-10-21 16:22:21 -04:00
committed by Marge Bot
parent 1bb68d9532
commit 1e208aaef4
+2 -6
View File
@@ -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: