From: Eunki Hong Date: Thu, 1 May 2025 09:53:39 +0000 (+0900) Subject: Make VertexBufferUpdateCallback mark as changed X-Git-Tag: accepted/tizen/unified/20250509.015138~1^2^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=9b67fe4f616022228e23d560beee49d2860a792b;p=platform%2Fcore%2Fuifw%2Fdali-core.git Make VertexBufferUpdateCallback mark as changed Let we mark vertex buffer data was changed by some callback. TODO : Need to fix GeometryBufferChanged callback invoked every frame. Change-Id: Ib74e13bf87408a62ba6665320d4b33cf1cf60d82 Signed-off-by: Eunki Hong --- diff --git a/dali/internal/render/renderers/render-geometry.cpp b/dali/internal/render/renderers/render-geometry.cpp index 6c3f0ec20..06039c7b3 100644 --- a/dali/internal/render/renderers/render-geometry.cpp +++ b/dali/internal/render/renderers/render-geometry.cpp @@ -276,11 +276,6 @@ bool Geometry::Draw( numVertices = elementBufferCount; firstVertex = elementBufferOffset; } - else if(mVertexBuffers.Count() > 0) - { - // truncated, no value loss happening in practice - numVertices = static_cast(mVertexBuffers[0]->GetRenderableElementCount()); - } // In case we have more buffers, we select buffer with less elements to render // TODO: we may eventually support wrapping around buffers???? else if(mVertexBuffers.Count() > 1) @@ -292,6 +287,11 @@ bool Geometry::Draw( } numVertices = elementsCount; } + else if(mVertexBuffers.Count() == 1) + { + // truncated, no value loss happening in practice + numVertices = static_cast(mVertexBuffers[0]->GetRenderableElementCount()); + } // Issue draw call only if there's non-zero numVertices if(numVertices) diff --git a/dali/internal/render/renderers/render-vertex-buffer.h b/dali/internal/render/renderers/render-vertex-buffer.h index 80d708f3a..6b121b2b0 100644 --- a/dali/internal/render/renderers/render-vertex-buffer.h +++ b/dali/internal/render/renderers/render-vertex-buffer.h @@ -209,7 +209,7 @@ public: [[nodiscard]] inline bool IsDataChanged() const { - return mDataChanged; + return mDataChanged || mVertexBufferUpdateCallback; } private: