Mesa (master): mesa/st: Update FP state when textures change with an ATI_fs bound.
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Thu Dec 24 00:55:08 UTC 2020
Module: Mesa
Branch: master
Commit: f0606cafe8330b10ad205b29267b4fba1dfbe7b2
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f0606cafe8330b10ad205b29267b4fba1dfbe7b2
Author: Eric Anholt <eric at anholt.net>
Date: Wed Dec 16 11:03:17 2020 -0800
mesa/st: Update FP state when textures change with an ATI_fs bound.
We may have to make a new ATI_fs variant when the texture target changes.
Fixes a regression on piglit ati_fragment_shader-render-textargets on
llvmpipe after the switch to NIR ATI_fragment_shader.
Cc: mesa-stable
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8118>
---
src/mesa/state_tracker/st_context.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/src/mesa/state_tracker/st_context.c b/src/mesa/state_tracker/st_context.c
index 5189b0cd692..771679a6b3a 100644
--- a/src/mesa/state_tracker/st_context.c
+++ b/src/mesa/state_tracker/st_context.c
@@ -275,9 +275,11 @@ st_invalidate_state(struct gl_context *ctx)
(ST_NEW_SAMPLER_VIEWS |
ST_NEW_SAMPLERS |
ST_NEW_IMAGE_UNITS);
- if (ctx->FragmentProgram._Current &&
- ctx->FragmentProgram._Current->ExternalSamplersUsed) {
- st->dirty |= ST_NEW_FS_STATE;
+ if (ctx->FragmentProgram._Current) {
+ struct st_program *stfp = st_program(ctx->FragmentProgram._Current);
+
+ if (stfp->Base.ExternalSamplersUsed || stfp->ati_fs)
+ st->dirty |= ST_NEW_FS_STATE;
}
}
}
More information about the mesa-commit
mailing list