diff options
author | Paul Lemire <paul.lemire@kdab.com> | 2020-07-07 15:01:29 +0200 |
---|---|---|
committer | Paul Lemire <paul.lemire@kdab.com> | 2020-07-08 08:47:43 +0200 |
commit | 15091eec6298dc6cdb0bfcd890d7969e69cb79dd (patch) | |
tree | ce49049a68f5935ee39282e8328fdf1bcc42269d | |
parent | 8a59b2ebf081af5bb9698281420d0ce59405712d (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.cpp | 9 |
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; |