From caa9fee77dc63d26ed030a87d0aac6bacb9d3c5e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Micha=C3=ABl=20Celerier?= Date: Thu, 23 Jan 2025 23:07:31 -0500 Subject: [PATCH] gfx: allow to update current readback in invertyrenderer --- src/plugins/score-plugin-gfx/Gfx/InvertYRenderer.cpp | 4 ++-- src/plugins/score-plugin-gfx/Gfx/InvertYRenderer.hpp | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/plugins/score-plugin-gfx/Gfx/InvertYRenderer.cpp b/src/plugins/score-plugin-gfx/Gfx/InvertYRenderer.cpp index e40e846063..12712c76a4 100644 --- a/src/plugins/score-plugin-gfx/Gfx/InvertYRenderer.cpp +++ b/src/plugins/score-plugin-gfx/Gfx/InvertYRenderer.cpp @@ -9,7 +9,7 @@ InvertYRenderer::InvertYRenderer( score::gfx::TextureRenderTarget rt, QRhiReadbackResult& readback) : score::gfx::OutputNodeRenderer{} , m_inputTarget{std::move(rt)} - , m_readback{readback} + , m_readback{&readback} { } @@ -92,7 +92,7 @@ void InvertYRenderer::finishFrame( auto next = renderer.state.rhi->nextResourceUpdateBatch(); QRhiReadbackDescription rb(m_renderTarget.texture); - next->readBackTexture(rb, &m_readback); + next->readBackTexture(rb, m_readback); cb.endPass(next); next = nullptr; diff --git a/src/plugins/score-plugin-gfx/Gfx/InvertYRenderer.hpp b/src/plugins/score-plugin-gfx/Gfx/InvertYRenderer.hpp index 408550c2ca..eab496db02 100644 --- a/src/plugins/score-plugin-gfx/Gfx/InvertYRenderer.hpp +++ b/src/plugins/score-plugin-gfx/Gfx/InvertYRenderer.hpp @@ -37,8 +37,10 @@ class SCORE_PLUGIN_GFX_EXPORT InvertYRenderer final void update(score::gfx::RenderList& renderer, QRhiResourceUpdateBatch& res) override; void release(score::gfx::RenderList&) override; + void updateReadback(QRhiReadbackResult& rb) { m_readback = &rb; } + private: - QRhiReadbackResult& m_readback; + QRhiReadbackResult* m_readback{}; }; }