From 63e54fbdfea29d629f5a322c4927da2e5a1b1152 Mon Sep 17 00:00:00 2001 From: Laszlo Agocs Date: Fri, 25 Sep 2020 12:59:39 +0200 Subject: rhi: gl: get rid of a wrapper QByteArray where a raw ptr suffices This is a visible performance increase actually, given this is on a quite hot chode path. Change-Id: I165bfa0d4e490f80078551efb4bf2fe8e72d3596 Reviewed-by: Paul Olav Tvete --- src/gui/rhi/qrhigles2.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'src/gui/rhi/qrhigles2.cpp') diff --git a/src/gui/rhi/qrhigles2.cpp b/src/gui/rhi/qrhigles2.cpp index e787d439c2..f81ba44358 100644 --- a/src/gui/rhi/qrhigles2.cpp +++ b/src/gui/rhi/qrhigles2.cpp @@ -2836,15 +2836,14 @@ void QRhiGles2::bindShaderResources(QRhiGraphicsPipeline *maybeGraphicsPs, QRhiC } } QGles2Buffer *bufD = QRHI_RES(QGles2Buffer, b->u.ubuf.buf); - const QByteArray bufView = QByteArray::fromRawData(bufD->ubuf + viewOffset, - b->u.ubuf.maybeSize ? b->u.ubuf.maybeSize : bufD->m_size); + const char *bufView = bufD->ubuf + viewOffset; QGles2UniformDescriptionVector &uniforms(maybeGraphicsPs ? QRHI_RES(QGles2GraphicsPipeline, maybeGraphicsPs)->uniforms : QRHI_RES(QGles2ComputePipeline, maybeComputePs)->uniforms); for (QGles2UniformDescription &uniform : uniforms) { if (uniform.binding == b->binding) { // in a uniform buffer everything is at least 4 byte aligned // so this should not cause unaligned reads - const void *src = bufView.constData() + uniform.offset; + const void *src = bufView + uniform.offset; if (uniform.arrayDim > 0 && uniform.type != QShaderDescription::Float -- cgit v1.2.3