diff options
Diffstat (limited to 'src/runtimerender/qssgrhicontext.cpp')
| -rw-r--r-- | src/runtimerender/qssgrhicontext.cpp | 15 |
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 |
