Mesa (main): panfrost: Disable PIPE_CAP_PRIMITIVE_RESTART on v9

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Apr 7 15:24:28 UTC 2022


Module: Mesa
Branch: main
Commit: 30c14f54cf2bbf86f3d8f16a3d46edad6d0fce7c
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=30c14f54cf2bbf86f3d8f16a3d46edad6d0fce7c

Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date:   Thu Apr  7 10:32:01 2022 -0400

panfrost: Disable PIPE_CAP_PRIMITIVE_RESTART on v9

Valhall removed the ability to set an explicit primitive restart index as
required by desktop OpenGL, in favour of fixed primitive restart indices only as
required by OpenGL ES.

Set the CAPs accordingly so that mesa/st lowers unusual primitive restart
indices at draw call time.

Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15795>

---

 src/gallium/drivers/panfrost/pan_screen.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/gallium/drivers/panfrost/pan_screen.c b/src/gallium/drivers/panfrost/pan_screen.c
index 6fa0d7e7ef4..c9d1ada9966 100644
--- a/src/gallium/drivers/panfrost/pan_screen.c
+++ b/src/gallium/drivers/panfrost/pan_screen.c
@@ -133,7 +133,6 @@ panfrost_get_param(struct pipe_screen *screen, enum pipe_cap param)
                 return 1;
 
         case PIPE_CAP_OCCLUSION_QUERY:
-        case PIPE_CAP_PRIMITIVE_RESTART:
         case PIPE_CAP_PRIMITIVE_RESTART_FIXED_INDEX:
                 return true;
 
@@ -289,6 +288,12 @@ panfrost_get_param(struct pipe_screen *screen, enum pipe_cap param)
         case PIPE_CAP_ALPHA_TEST:
                 return dev->arch <= 5;
 
+        /* Removed in v9 (Valhall). PRIMTIIVE_RESTART_FIXED_INDEX is of course
+         * still supported as it is core GLES3.0 functionality
+         */
+        case PIPE_CAP_PRIMITIVE_RESTART:
+                return dev->arch <= 7;
+
         case PIPE_CAP_FLATSHADE:
         case PIPE_CAP_TWO_SIDED_COLOR:
         case PIPE_CAP_CLIP_PLANES:



More information about the mesa-commit mailing list