From 70e586cd0e4ef3ebb6ed9e82d166edec7fb54757 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 20 Jan 2021 10:29:38 -0800 Subject: [PATCH] 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 Part-of: (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;