mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-06 20:18:12 +02:00
panfrost: Fix logic ops on Bifrost
opaque should not be set when logicops are enabled, that needs blending even on Bifrost. Fixes is for when I believe the bug became possible to hit. The logical error is older. Fixes Piglit logicop tests again. Fixes:d849d9779a("panfrost: Avoid blend shader when not blending") Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20685> (cherry picked from commit41d99c10d1)
This commit is contained in:
parent
d8db0ee96d
commit
bc198e8005
3 changed files with 4 additions and 3 deletions
|
|
@ -4792,7 +4792,7 @@
|
|||
"description": "panfrost: Fix logic ops on Bifrost",
|
||||
"nominated": true,
|
||||
"nomination_type": 1,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"main_sha": null,
|
||||
"because_sha": "d849d9779a77f05d7acd418516e154a4e9018f40"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -4511,7 +4511,7 @@ panfrost_create_blend_state(struct pipe_context *pipe,
|
|||
const bool supports_2src = pan_blend_supports_2src(PAN_ARCH);
|
||||
so->info[c] = (struct pan_blend_info) {
|
||||
.enabled = (equation.color_mask != 0),
|
||||
.opaque = pan_blend_is_opaque(equation),
|
||||
.opaque = !blend->logicop_enable && pan_blend_is_opaque(equation),
|
||||
.constant_mask = constant_mask,
|
||||
|
||||
/* TODO: check the dest for the logicop */
|
||||
|
|
|
|||
|
|
@ -800,7 +800,8 @@ GENX(pan_blend_get_shader_locked)(const struct panfrost_device *dev,
|
|||
};
|
||||
|
||||
/* Blend shaders should only be used for blending on Bifrost onwards */
|
||||
assert(dev->arch <= 5 || !pan_blend_is_opaque(state->rts[rt].equation));
|
||||
assert(dev->arch <= 5 || state->logicop_enable ||
|
||||
!pan_blend_is_opaque(state->rts[rt].equation));
|
||||
assert(state->rts[rt].equation.color_mask != 0);
|
||||
|
||||
struct hash_entry *he = _mesa_hash_table_search(dev->blend_shaders.shaders, &key);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue