summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMike Blumenkrantz <michael.blumenkrantz@gmail.com>2023-06-21 15:45:37 -0400
committerEric Engestrom <eric@engestrom.ch>2023-07-15 22:49:54 +0100
commitce554c8867f3773b00b3d91833d0744c565b47d1 (patch)
tree58682bfaad98cdd9775058501d1962974e209582 /src
parent6d84d3794fa45c7ca6d4ecfba5d51166ce93ad72 (diff)
downloadmesa-ce554c8867f3773b00b3d91833d0744c565b47d1.tar.gz
mesa-ce554c8867f3773b00b3d91833d0744c565b47d1.tar.bz2
mesa-ce554c8867f3773b00b3d91833d0744c565b47d1.zip
zink: fix unbinding generated gs on real gs bind
cc: mesa-stable Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23803> (cherry picked from commit 041591d972d022810afa89590375a33d8e5dcd35)
Diffstat (limited to 'src')
-rw-r--r--src/gallium/drivers/zink/zink_program.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/gallium/drivers/zink/zink_program.c b/src/gallium/drivers/zink/zink_program.c
index d9f88d6484d..22dc33beb62 100644
--- a/src/gallium/drivers/zink/zink_program.c
+++ b/src/gallium/drivers/zink/zink_program.c
@@ -1580,7 +1580,7 @@ bind_gfx_stage(struct zink_context *ctx, gl_shader_stage stage, struct zink_shad
if (ctx->gfx_stages[stage])
ctx->gfx_hash ^= ctx->gfx_stages[stage]->hash;
- if (!shader && stage == MESA_SHADER_GEOMETRY) {
+ if (stage == MESA_SHADER_GEOMETRY && ctx->is_generated_gs_bound && (!shader || !shader->non_fs.parent)) {
ctx->inlinable_uniforms_valid_mask &= ~BITFIELD64_BIT(MESA_SHADER_GEOMETRY);
ctx->is_generated_gs_bound = false;
}