Mesa (staging/20.3): panfrost: Stub out set_shader_images().

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Jan 26 17:53:54 UTC 2021


Module: Mesa
Branch: staging/20.3
Commit: 70e586cd0e4ef3ebb6ed9e82d166edec7fb54757
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=70e586cd0e4ef3ebb6ed9e82d166edec7fb54757

Author: Eric Anholt <eric at anholt.net>
Date:   Wed Jan 20 10:29:38 2021 -0800

panfrost: Stub out set_shader_images().

If PAN_MESA_DEBUG=deqp is set to enable testing, then we advertise shader
images to get GLES3.1, even though we don't have any of the shader image
funcs hooked up.  This caused breakage when cso started unbinding shader
images at context destruction.

Just stub out the function for now, you'll still segfault when creating an
image.

Cc: mesa-stable (for the next commit)
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8530>
(cherry picked from commit f259fcae83c12e4df10ec2415a1660cc44810eb7)

---

 .pick_status.json                          |  2 +-
 src/gallium/drivers/panfrost/pan_context.c | 11 +++++++++++
 2 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/.pick_status.json b/.pick_status.json
index 3e42f004469..7ba98afce17 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -436,7 +436,7 @@
         "description": "panfrost: Stub out set_shader_images().",
         "nominated": true,
         "nomination_type": 0,
-        "resolution": 0,
+        "resolution": 1,
         "master_sha": null,
         "because_sha": null
     },
diff --git a/src/gallium/drivers/panfrost/pan_context.c b/src/gallium/drivers/panfrost/pan_context.c
index 11f6d34b3bc..b40d00669e3 100644
--- a/src/gallium/drivers/panfrost/pan_context.c
+++ b/src/gallium/drivers/panfrost/pan_context.c
@@ -1128,6 +1128,16 @@ panfrost_set_shader_buffers(
                         buffers, start, count);
 }
 
+static void
+panfrost_set_shader_images(
+        struct pipe_context *pctx,
+        enum pipe_shader_type shader,
+        unsigned start, unsigned count,
+        const struct pipe_image_view *images)
+{
+        /* TODO */
+}
+
 static void
 panfrost_set_framebuffer_state(struct pipe_context *pctx,
                                const struct pipe_framebuffer_state *fb)
@@ -1523,6 +1533,7 @@ panfrost_create_context(struct pipe_screen *screen, void *priv, unsigned flags)
         gallium->set_vertex_buffers = panfrost_set_vertex_buffers;
         gallium->set_constant_buffer = panfrost_set_constant_buffer;
         gallium->set_shader_buffers = panfrost_set_shader_buffers;
+        gallium->set_shader_images = panfrost_set_shader_images;
 
         gallium->set_stencil_ref = panfrost_set_stencil_ref;
 



More information about the mesa-commit mailing list