diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2022-04-28 01:16:06 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2022-04-28 01:16:18 +0300 |
commit | e2cd5c6748ff393ef8dd1997c060c58751178532 (patch) | |
tree | b925582445241cccd62826964b60d3037ccd7dfa /source/blender | |
parent | 9c82c00b32802a88b71c22929e9660f7ba4023a8 (diff) |
EEVEE: Add shader compilation progress in the viewport
Since rBfa43c47c7cb8446b632a4c0f712162ba615fe51f the progress bar do not
show the compilation progress. This was misleading as users could think
it could be canceled or prevent rendering.
Now we just show how many shaders are still in the compilation queue inside
each viewport. This number is more accurate than the percentage that was
previously displayed in the progress bar.
Diffstat (limited to 'source/blender')
-rw-r--r-- | source/blender/draw/engines/eevee/eevee_engine.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/source/blender/draw/engines/eevee/eevee_engine.c b/source/blender/draw/engines/eevee/eevee_engine.c index 47e8f234a01..227757bad23 100644 --- a/source/blender/draw/engines/eevee/eevee_engine.c +++ b/source/blender/draw/engines/eevee/eevee_engine.c @@ -141,8 +141,9 @@ void EEVEE_cache_populate(void *vedata, Object *ob) static void eevee_cache_finish(void *vedata) { + EEVEE_Data *ved = (EEVEE_Data *)vedata; EEVEE_ViewLayerData *sldata = EEVEE_view_layer_data_ensure(); - EEVEE_StorageList *stl = ((EEVEE_Data *)vedata)->stl; + EEVEE_StorageList *stl = ved->stl; EEVEE_PrivateData *g_data = stl->g_data; const DRWContextState *draw_ctx = DRW_context_state_get(); const Scene *scene_eval = DEG_get_evaluated_scene(draw_ctx->depsgraph); @@ -171,6 +172,10 @@ static void eevee_cache_finish(void *vedata) g_data->queued_shaders_count_prev = g_data->queued_shaders_count; EEVEE_temporal_sampling_reset(vedata); } + + if (g_data->queued_shaders_count > 0) { + SNPRINTF(ved->info, "Compiling Shaders %d", g_data->queued_shaders_count); + } } /* As renders in an HDR off-screen buffer, we need draw everything once |