pan/bi: Don't set td in blend shaders
This breaks screen-space derivatives in a shader that uses multiple render targets, if the derivative calculation is scheduled after a BLEND instruction calling into a blend shader. Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com> Cc: mesa-stable Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12478>
This commit is contained in:
parent
0a26ec78b1
commit
710498e424
|
@ -133,8 +133,9 @@ void
|
||||||
bi_analyze_helper_terminate(bi_context *ctx)
|
bi_analyze_helper_terminate(bi_context *ctx)
|
||||||
{
|
{
|
||||||
/* Other shader stages do not have a notion of helper threads, so we
|
/* Other shader stages do not have a notion of helper threads, so we
|
||||||
* can skip the analysis */
|
* can skip the analysis. Don't run for blend shaders, either, since
|
||||||
if (ctx->stage != MESA_SHADER_FRAGMENT)
|
* they run in the context of another shader that we don't see. */
|
||||||
|
if (ctx->stage != MESA_SHADER_FRAGMENT || ctx->inputs->is_blend)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
/* Set blocks as directly requiring helpers, and if they do add them to
|
/* Set blocks as directly requiring helpers, and if they do add them to
|
||||||
|
|
Loading…
Reference in New Issue