From ed058088b3ac4917ece178a2cc1f8dea899b4fb6 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Fri, 11 Aug 2023 12:42:16 +0200 Subject: [PATCH] Refactor: Make progress a base render method Should be no functional changes. --- source/blender/freestyle/intern/system/RenderMonitor.h | 2 +- source/blender/render/intern/engine.cc | 2 +- source/blender/render/intern/pipeline.cc | 4 ++-- source/blender/render/intern/render_types.cc | 7 +++++++ source/blender/render/intern/render_types.h | 6 ++++++ 5 files changed, 17 insertions(+), 4 deletions(-) diff --git a/source/blender/freestyle/intern/system/RenderMonitor.h b/source/blender/freestyle/intern/system/RenderMonitor.h index f6045f72d29..7d4c8e06bd5 100644 --- a/source/blender/freestyle/intern/system/RenderMonitor.h +++ b/source/blender/freestyle/intern/system/RenderMonitor.h @@ -38,7 +38,7 @@ class RenderMonitor { inline void progress(float i) { if (_re) { - _re->progress_cb(_re->prh, i); + _re->progress(i); } } diff --git a/source/blender/render/intern/engine.cc b/source/blender/render/intern/engine.cc index b9e7d4ac56a..1763f8bd136 100644 --- a/source/blender/render/intern/engine.cc +++ b/source/blender/render/intern/engine.cc @@ -502,7 +502,7 @@ void RE_engine_update_progress(RenderEngine *engine, float progress) if (re) { CLAMP(progress, 0.0f, 1.0f); - re->progress_cb(re->prh, progress); + re->progress(progress); } } diff --git a/source/blender/render/intern/pipeline.cc b/source/blender/render/intern/pipeline.cc index 1a29dcfda0b..3c72e8dcc23 100644 --- a/source/blender/render/intern/pipeline.cc +++ b/source/blender/render/intern/pipeline.cc @@ -1430,10 +1430,10 @@ static void do_render_sequencer(Render *re) /* set overall progress of sequence rendering */ if (re->r.efra != re->r.sfra) { - re->progress_cb(re->prh, float(cfra - re->r.sfra) / (re->r.efra - re->r.sfra)); + re->progress(float(cfra - re->r.sfra) / (re->r.efra - re->r.sfra)); } else { - re->progress_cb(re->prh, 1.0f); + re->progress(1.0f); } } diff --git a/source/blender/render/intern/render_types.cc b/source/blender/render/intern/render_types.cc index ad02ebf4026..a925576dd2a 100644 --- a/source/blender/render/intern/render_types.cc +++ b/source/blender/render/intern/render_types.cc @@ -41,6 +41,13 @@ Render::~Render() render_result_free(pushedresult); } +void Render::progress(float progress) +{ + if (progress_cb) { + progress_cb(prh, progress); + } +} + void Render::draw_lock() { if (draw_lock_cb) { diff --git a/source/blender/render/intern/render_types.h b/source/blender/render/intern/render_types.h index 09577050488..10c5258ba4b 100644 --- a/source/blender/render/intern/render_types.h +++ b/source/blender/render/intern/render_types.h @@ -49,6 +49,8 @@ struct BaseRender { const char *view_name) = 0; virtual void compositor_free() = 0; + virtual void progress(float progress) = 0; + virtual void draw_lock() = 0; virtual void draw_unlock() = 0; @@ -94,6 +96,8 @@ struct ViewRender : public BaseRender { } void compositor_free() override {} + void progress(const float /*progress*/) override {} + void draw_lock() override {} void draw_unlock() override {} @@ -128,6 +132,8 @@ struct Render : public BaseRender { const char *view_name) override; void compositor_free() override; + void progress(float progress) override; + void draw_lock() override; void draw_unlock() override;