diff --git a/src/gallium/drivers/panfrost/pan_assemble.c b/src/gallium/drivers/panfrost/pan_assemble.c index fc645dcd953..48dcd0fe3d5 100644 --- a/src/gallium/drivers/panfrost/pan_assemble.c +++ b/src/gallium/drivers/panfrost/pan_assemble.c @@ -82,6 +82,9 @@ pan_prepare_bifrost_props(struct panfrost_shader_state *state, if (state->writes_depth || state->writes_stencil) { state->properties.bifrost.zs_update_operation = MALI_PIXEL_KILL_FORCE_LATE; state->properties.bifrost.pixel_kill_operation = MALI_PIXEL_KILL_FORCE_LATE; + } else if (state->can_discard) { + state->properties.bifrost.zs_update_operation = MALI_PIXEL_KILL_FORCE_LATE; + state->properties.bifrost.pixel_kill_operation = MALI_PIXEL_KILL_WEAK_EARLY; } else { state->properties.bifrost.zs_update_operation = MALI_PIXEL_KILL_STRONG_EARLY; state->properties.bifrost.pixel_kill_operation = MALI_PIXEL_KILL_FORCE_EARLY;