From cb6901f287c8b26fb384ffca89b7dc9080621d98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Foucault?= Date: Tue, 17 Jun 2025 12:29:01 +0200 Subject: [PATCH] Fix: EEVEE: Wrong logic for shader parallel compilation The previous logic was not triggering parallel compilation for DoF and Fast GI shaders. This led to slower initialization time for the default shader preview or render. --- source/blender/draw/engines/eevee/eevee_depth_of_field.hh | 5 +++++ source/blender/draw/engines/eevee/eevee_instance.cc | 2 +- source/blender/draw/engines/eevee/eevee_raytrace.hh | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/source/blender/draw/engines/eevee/eevee_depth_of_field.hh b/source/blender/draw/engines/eevee/eevee_depth_of_field.hh index 4467dc92d7c..0cc3c018817 100644 --- a/source/blender/draw/engines/eevee/eevee_depth_of_field.hh +++ b/source/blender/draw/engines/eevee/eevee_depth_of_field.hh @@ -176,6 +176,11 @@ class DepthOfField { return fx_radius_ > 0.0f; } + bool enabled() const + { + return enabled_; + } + private: void bokeh_lut_pass_sync(); void setup_pass_sync(); diff --git a/source/blender/draw/engines/eevee/eevee_instance.cc b/source/blender/draw/engines/eevee/eevee_instance.cc index d566e1870e8..a61102fc134 100644 --- a/source/blender/draw/engines/eevee/eevee_instance.cc +++ b/source/blender/draw/engines/eevee/eevee_instance.cc @@ -212,7 +212,7 @@ void Instance::init(const int2 &output_res, ShaderGroups shader_request = DEFERRED_LIGHTING_SHADERS | SHADOW_SHADERS | FILM_SHADERS | HIZ_SHADERS | SPHERE_PROBE_SHADERS | VOLUME_PROBE_SHADERS | LIGHT_CULLING_SHADERS; - SET_FLAG_FROM_TEST(shader_request, depth_of_field.postfx_enabled(), DEPTH_OF_FIELD_SHADERS); + SET_FLAG_FROM_TEST(shader_request, depth_of_field.enabled(), DEPTH_OF_FIELD_SHADERS); SET_FLAG_FROM_TEST(shader_request, needs_planar_probe_passes(), DEFERRED_PLANAR_SHADERS); SET_FLAG_FROM_TEST(shader_request, needs_lightprobe_sphere_passes(), DEFERRED_CAPTURE_SHADERS); SET_FLAG_FROM_TEST(shader_request, motion_blur.postfx_enabled(), MOTION_BLUR_SHADERS); diff --git a/source/blender/draw/engines/eevee/eevee_raytrace.hh b/source/blender/draw/engines/eevee/eevee_raytrace.hh index 7621606cb8b..a3230142ee2 100644 --- a/source/blender/draw/engines/eevee/eevee_raytrace.hh +++ b/source/blender/draw/engines/eevee/eevee_raytrace.hh @@ -282,7 +282,7 @@ class RayTraceModule { bool use_fast_gi() const { - return use_raytracing() && ray_tracing_options_.trace_max_roughness >= 1.0f; + return use_raytracing() && ray_tracing_options_.trace_max_roughness < 1.0f; } private: