Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClément Foucault <foucault.clem@gmail.com>2022-04-28 01:16:06 +0300
committerClément Foucault <foucault.clem@gmail.com>2022-04-28 01:16:18 +0300
commite2cd5c6748ff393ef8dd1997c060c58751178532 (patch)
treeb925582445241cccd62826964b60d3037ccd7dfa /source/blender/draw/engines/eevee/eevee_engine.c
parent9c82c00b32802a88b71c22929e9660f7ba4023a8 (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/draw/engines/eevee/eevee_engine.c')
-rw-r--r--source/blender/draw/engines/eevee/eevee_engine.c7
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