From 7821cf068c09cd63e46b6db7edec2fd070a89aa3 Mon Sep 17 00:00:00 2001 From: Miguel Pozo Date: Mon, 12 Feb 2024 18:34:12 +0100 Subject: [PATCH] Fix: Workbench: Shadows Broken shadows after c0c3565714 GPU_ARB_gpu_shader5 is never defined, since gl_InvocationID is always available. --- .../shaders/workbench_shadow_caps_geom.glsl | 9 --------- .../shaders/workbench_shadow_geom.glsl | 18 ++---------------- 2 files changed, 2 insertions(+), 25 deletions(-) diff --git a/source/blender/draw/engines/workbench/shaders/workbench_shadow_caps_geom.glsl b/source/blender/draw/engines/workbench/shaders/workbench_shadow_caps_geom.glsl index a62e8837538..0d71db45f2e 100644 --- a/source/blender/draw/engines/workbench/shaders/workbench_shadow_caps_geom.glsl +++ b/source/blender/draw/engines/workbench/shaders/workbench_shadow_caps_geom.glsl @@ -2,10 +2,6 @@ * * SPDX-License-Identifier: GPL-2.0-or-later */ -#ifdef GPU_ARB_gpu_shader5 -# define USE_INVOC_EXT -#endif - vec4 get_pos(int v, bool backface) { return (backface) ? vData[v].backPosition : vData[v].frontPosition; @@ -54,12 +50,7 @@ void main() #endif if (!is_manifold || !backface) { -#ifdef USE_INVOC_EXT bool do_front = (gl_InvocationID & 1) == 0; emit_cap(do_front, invert); -#else - emit_cap(true, invert); - emit_cap(false, invert); -#endif } } diff --git a/source/blender/draw/engines/workbench/shaders/workbench_shadow_geom.glsl b/source/blender/draw/engines/workbench/shaders/workbench_shadow_geom.glsl index fac6cdc143f..2cab47dc881 100644 --- a/source/blender/draw/engines/workbench/shaders/workbench_shadow_geom.glsl +++ b/source/blender/draw/engines/workbench/shaders/workbench_shadow_geom.glsl @@ -2,10 +2,6 @@ * * SPDX-License-Identifier: GPL-2.0-or-later */ -#ifdef GPU_ARB_gpu_shader5 -# define USE_INVOC_EXT -#endif - #define DEGENERATE_TRIS_WORKAROUND #define DEGENERATE_TRIS_AREA_THRESHOLD 4e-17 @@ -74,23 +70,13 @@ void main() return; } -#ifdef USE_INVOC_EXT if (gl_InvocationID == 0) { extrude_edge(backface.x); } else if (is_manifold) { -# ifdef DOUBLE_MANIFOLD +#ifdef DOUBLE_MANIFOLD /* Increment/Decrement twice for manifold edges. */ extrude_edge(backface.x); -# endif - } -#else - extrude_edge(backface.x); - if (is_manifold) { -# ifdef DOUBLE_MANIFOLD - /* Increment/Decrement twice for manifold edges. */ - extrude_edge(backface.x); -# endif - } #endif + } }