* need to signal CAN_DISCARD for nontrivial blend modes (so
* we're able to read back the destination buffer) */
+ if (blend[0].no_colour)
+ return;
+
+ fragmeta->unknown2_4 |= MALI_SFBD_ENABLE;
+
+ SET_BIT(fragmeta->unknown2_4, MALI_SFBD_SRGB,
+ util_format_is_srgb(ctx->pipe_framebuffer.cbufs[0]->format));
+
SET_BIT(fragmeta->unknown2_3, MALI_HAS_BLEND_SHADER,
blend[0].is_shader);
SET_BIT(fragmeta->unknown2_3, MALI_CAN_DISCARD,
blend[0].load_dest);
- fragmeta->unknown2_4 |= 0x10;
SET_BIT(fragmeta->unknown2_4, MALI_NO_DITHER, !ctx->blend->base.dither);
} else if (!(dev->quirks & IS_BIFROST)) {
/* Bug where MRT-capable hw apparently reads the last blend
#define MALI_ALPHA_TO_COVERAGE (1 << 1)
+#define MALI_SFBD_ENABLE (1 << 4)
+#define MALI_SFBD_SRGB (1 << 8)
#define MALI_NO_DITHER (1 << 9)
#define MALI_DEPTH_RANGE_A (1 << 12)
#define MALI_DEPTH_RANGE_B (1 << 13)