panfrost: Disable blending for no-op logic ops

Prevents regression from the series, since we don't support empty blend
shaders. This could be fixed more generically but I'm not inclined to compile
more blend shaders than needed so shrug.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Italo Nicola <italonicola@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24252>
This commit is contained in:
Alyssa Rosenzweig 2023-07-25 12:37:46 -04:00 committed by Marge Bot
parent 2d902dbf02
commit b010b6f691

View file

@ -4217,7 +4217,9 @@ panfrost_create_blend_state(struct pipe_context *pipe,
unsigned constant_mask = pan_blend_constant_mask(equation);
const bool supports_2src = pan_blend_supports_2src(PAN_ARCH);
so->info[c] = (struct pan_blend_info){
.enabled = (equation.color_mask != 0),
.enabled = (equation.color_mask != 0) &&
!(blend->logicop_enable &&
blend->logicop_func == PIPE_LOGICOP_NOOP),
.opaque = !blend->logicop_enable && pan_blend_is_opaque(equation),
.constant_mask = constant_mask,