Fix #116403: Workbench: Broken overlays with clipping planes

Workbench only outputs depth when overlays are enabled, but
some overlay passes can be rendered even with overlays disabled.

Pull Request: https://projects.blender.org/blender/blender/pulls/116441
This commit is contained in:
Miguel Pozo
2023-12-22 17:48:39 +01:00
parent a90fdd5246
commit 831dd3500e

View File

@@ -152,7 +152,10 @@ void SceneState::init(Object *camera_ob /*=nullptr*/)
reset_taa = true;
}
if (assign_if_different(overlays_enabled, v3d && !(v3d->flag2 & V3D_HIDE_OVERLAYS))) {
bool _overlays_enabled = v3d && !(v3d->flag2 & V3D_HIDE_OVERLAYS);
/* Some overlay passes can be rendered even with overlays disabled (See #116424). */
_overlays_enabled = _overlays_enabled || new_clip_state & DRW_STATE_CLIP_PLANES;
if (assign_if_different(overlays_enabled, _overlays_enabled)) {
/* Reset TAA when enabling overlays, since we won't have valid sample0 depth textures.
* (See #113741) */
reset_taa = true;