summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Lemire <paul.lemire@kdab.com>2020-07-07 15:01:29 +0200
committerPaul Lemire <paul.lemire@kdab.com>2020-07-08 08:47:43 +0200
commit15091eec6298dc6cdb0bfcd890d7969e69cb79dd (patch)
treece49049a68f5935ee39282e8328fdf1bcc42269d
parent8a59b2ebf081af5bb9698281420d0ce59405712d (diff)
RHI: uploadBuffersForCommand check return value of RHIBuffer::bind
Change-Id: Id71e69fc0b6f6cbc1431877b3b2ab3a651177b67 Reviewed-by: Jean-Michaƫl Celerier <jean-michael.celerier@kdab.com> Reviewed-by: Mike Krus <mike.krus@kdab.com>
-rw-r--r--src/plugins/renderers/rhi/renderer/renderer.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/plugins/renderers/rhi/renderer/renderer.cpp b/src/plugins/renderers/rhi/renderer/renderer.cpp
index ad8386dfc..f08e457da 100644
--- a/src/plugins/renderers/rhi/renderer/renderer.cpp
+++ b/src/plugins/renderers/rhi/renderer/renderer.cpp
@@ -2307,7 +2307,8 @@ bool Renderer::uploadBuffersForCommand(QRhiCommandBuffer *cb, const RenderView *
m_RHIResourceManagers->rhiBufferManager()->lookupResource(buffer->peerId());
switch (attrib->attributeType()) {
case QAttribute::VertexAttribute: {
- hbuf->bind(&*m_submissionContext, RHIBuffer::Type::ArrayBuffer);
+ if (!hbuf->bind(&*m_submissionContext, RHIBuffer::Type::ArrayBuffer))
+ return false;
assert(hbuf->rhiBuffer());
// Find Binding for Attribute
const int bindingIndex = graphicsPipeline->bindingIndexForAttribute(attrib->nameId());
@@ -2323,7 +2324,8 @@ bool Renderer::uploadBuffersForCommand(QRhiCommandBuffer *cb, const RenderView *
break;
}
case QAttribute::IndexAttribute: {
- hbuf->bind(&*m_submissionContext, RHIBuffer::Type::IndexBuffer);
+ if (!hbuf->bind(&*m_submissionContext, RHIBuffer::Type::IndexBuffer))
+ return false;
assert(hbuf->rhiBuffer());
command.indexBuffer = hbuf->rhiBuffer();
@@ -2339,7 +2341,8 @@ bool Renderer::uploadBuffersForCommand(QRhiCommandBuffer *cb, const RenderView *
for (const BlockToUBO &pack : command.m_parameterPack.uniformBuffers()) {
Buffer *cpuBuffer = nodeManagers()->bufferManager()->lookupResource(pack.m_bufferID);
RHIBuffer *ubo = m_submissionContext->rhiBufferForRenderBuffer(cpuBuffer);
- ubo->bind(&*m_submissionContext, RHIBuffer::UniformBuffer);
+ if (!ubo->bind(&*m_submissionContext, RHIBuffer::UniformBuffer))
+ return false;
}
return true;