summaryrefslogtreecommitdiff
path: root/indra/llrender/llrender.h
diff options
context:
space:
mode:
authorRye <rye@alchemyviewer.org>2025-10-26 02:54:47 -0400
committerRye <rye@alchemyviewer.org>2025-10-27 04:59:16 -0400
commitdf9ba93dae53b4fc6f6a429c233609b7834eb379 (patch)
tree6092e8d3a8da6e68ef93610098b09dd836adc311 /indra/llrender/llrender.h
parent9a049b660bf0295fd295ec9bff0340fca16a90b1 (diff)
Fix leak of LLRender VBCache when reset/shutdown
Signed-off-by: Rye <rye@alchemyviewer.org>
Diffstat (limited to 'indra/llrender/llrender.h')
-rw-r--r--indra/llrender/llrender.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/indra/llrender/llrender.h b/indra/llrender/llrender.h
index 0801c12fb4..72f2acc54a 100644
--- a/indra/llrender/llrender.h
+++ b/indra/llrender/llrender.h
@@ -46,7 +46,9 @@
#include <boost/align/aligned_allocator.hpp>
#include <array>
+#include <chrono>
#include <list>
+#include <vector>
class LLVertexBuffer;
class LLCubeMap;
@@ -529,6 +531,15 @@ private:
std::vector<LLVector4a, boost::alignment::aligned_allocator<LLVector4a, 16> > mUIOffset;
std::vector<LLVector4a, boost::alignment::aligned_allocator<LLVector4a, 16> > mUIScale;
+
+ struct LLVBCache
+ {
+ LLPointer<LLVertexBuffer> vb;
+ std::chrono::steady_clock::time_point touched;
+ };
+
+ std::unordered_map<U64, LLVBCache> mVBCache;
+ std::list<LLVertexBufferData>* mBufferDataList = nullptr;
};
extern F32 gGLModelView[16];