summaryrefslogtreecommitdiffstats
path: root/src/render/renderers/opengl/renderer
diff options
context:
space:
mode:
authorPaul Lemire <paul.lemire@kdab.com>2018-09-21 07:53:11 +0200
committerPaul Lemire <paul.lemire@kdab.com>2018-09-21 07:54:37 +0000
commit9486a8a4b60a678280db2c625064ca78b3aaf489 (patch)
tree45ac30029bbe12a3d98d373bdb8cf48c174ab422 /src/render/renderers/opengl/renderer
parent9884d3bffcdee9c6aabc51b036554947873b11c4 (diff)
Complete ES 3.1 and 3.2 helpers
Which didn't handle indirect drawing, compute and tessellation Since ES 3.1/3.2 don't provide API for glShaderStorageBlockBinding, code was adjusted to use the default binding points and not require that API. Change-Id: Ie4dcd05f0a1d72e4a25f49b5fae138dc605ba5e3 Task-number: QTBUG-70660 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/render/renderers/opengl/renderer')
-rw-r--r--src/render/renderers/opengl/renderer/renderview.cpp1
-rw-r--r--src/render/renderers/opengl/renderer/shaderparameterpack_p.h1
2 files changed, 2 insertions, 0 deletions
diff --git a/src/render/renderers/opengl/renderer/renderview.cpp b/src/render/renderers/opengl/renderer/renderview.cpp
index c29448570..66299e430 100644
--- a/src/render/renderers/opengl/renderer/renderview.cpp
+++ b/src/render/renderers/opengl/renderer/renderview.cpp
@@ -884,6 +884,7 @@ void RenderView::setShaderStorageValue(ShaderParameterPack &uniformPack,
BlockToSSBO shaderStorageBlock;
shaderStorageBlock.m_blockIndex = block.m_index;
shaderStorageBlock.m_bufferID = buffer->peerId();
+ shaderStorageBlock.m_bindingIndex = block.m_binding;
uniformPack.setShaderStorageBuffer(shaderStorageBlock);
// Buffer update to GL buffer will be done at render time
}
diff --git a/src/render/renderers/opengl/renderer/shaderparameterpack_p.h b/src/render/renderers/opengl/renderer/shaderparameterpack_p.h
index 5703bb17b..fe9ab3995 100644
--- a/src/render/renderers/opengl/renderer/shaderparameterpack_p.h
+++ b/src/render/renderers/opengl/renderer/shaderparameterpack_p.h
@@ -83,6 +83,7 @@ QT3D_DECLARE_TYPEINFO_2(Qt3DRender, Render, BlockToUBO, Q_MOVABLE_TYPE)
struct BlockToSSBO {
int m_blockIndex;
+ int m_bindingIndex;
Qt3DCore::QNodeId m_bufferID;
};
QT3D_DECLARE_TYPEINFO_2(Qt3DRender, Render, BlockToSSBO, Q_PRIMITIVE_TYPE)