mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 00:58:05 +02:00
panfrost: Generate shader variants on framebuffer bind
If we keyed the shader for the framebuffer. Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5755>
This commit is contained in:
parent
a3952e927e
commit
b9869e0e5e
1 changed files with 7 additions and 0 deletions
|
|
@ -1147,6 +1147,13 @@ panfrost_set_framebuffer_state(struct pipe_context *pctx,
|
|||
util_copy_framebuffer_state(&ctx->pipe_framebuffer, fb);
|
||||
ctx->batch = NULL;
|
||||
panfrost_invalidate_frame(ctx);
|
||||
|
||||
/* We may need to generate a new variant if the fragment shader is
|
||||
* keyed to the framebuffer format (due to EXT_framebuffer_fetch) */
|
||||
struct panfrost_shader_variants *fs = ctx->shader[PIPE_SHADER_FRAGMENT];
|
||||
|
||||
if (fs && fs->variant_count && fs->variants[fs->active_variant].outputs_read)
|
||||
ctx->base.bind_fs_state(&ctx->base, fs);
|
||||
}
|
||||
|
||||
static void *
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue