summaryrefslogtreecommitdiffstats
path: root/src/gui/rhi/qrhigles2.cpp
diff options
context:
space:
mode:
authorLaszlo Agocs <laszlo.agocs@qt.io>2020-09-25 12:59:39 +0200
committerLaszlo Agocs <laszlo.agocs@qt.io>2020-09-25 16:59:00 +0200
commit63e54fbdfea29d629f5a322c4927da2e5a1b1152 (patch)
tree78a6a93cdb11adb0a84d970a5658dad92f823957 /src/gui/rhi/qrhigles2.cpp
parent80091e0a0f216dcdc91bb77c9f5ec1c8a929e75c (diff)
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 <paul.tvete@qt.io>
Diffstat (limited to 'src/gui/rhi/qrhigles2.cpp')
-rw-r--r--src/gui/rhi/qrhigles2.cpp5
1 files changed, 2 insertions, 3 deletions
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