aboutsummaryrefslogtreecommitdiffstats
path: root/src/runtimerender/qssgrhicontext.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/runtimerender/qssgrhicontext.cpp')
-rw-r--r--src/runtimerender/qssgrhicontext.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/runtimerender/qssgrhicontext.cpp b/src/runtimerender/qssgrhicontext.cpp
index 03ac1a28..09f4adc4 100644
--- a/src/runtimerender/qssgrhicontext.cpp
+++ b/src/runtimerender/qssgrhicontext.cpp
@@ -962,6 +962,12 @@ QRhiShaderResourceBindings *QSSGRhiContext::srb(const QSSGRhiShaderResourceBindi
return srb;
}
+void QSSGRhiContext::releaseCachedSrb(QSSGRhiShaderResourceBindingList &bindings)
+{
+ auto srb = m_srbCache.take(bindings);
+ delete srb;
+}
+
void QSSGRhiContext::releaseDrawCallData(QSSGRhiDrawCallData &dcd)
{
delete dcd.ubuf;
@@ -1281,4 +1287,13 @@ void QSSGRhiContextStats::printRenderPass(const QSSGRhiContextStats::RenderPassI
}
}
+void QSSGRhiContext::releaseInstanceBuffer(QSSGRenderInstanceTable *instanceTable)
+{
+ auto it = m_instanceBuffers.constFind(instanceTable);
+ if (it != m_instanceBuffers.constEnd()) {
+ it->buffer->destroy();
+ m_instanceBuffers.erase(it);
+ }
+}
+
QT_END_NAMESPACE