From 9486a8a4b60a678280db2c625064ca78b3aaf489 Mon Sep 17 00:00:00 2001 From: Paul Lemire Date: Fri, 21 Sep 2018 07:53:11 +0200 Subject: 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 --- src/render/renderers/opengl/renderer/renderview.cpp | 1 + src/render/renderers/opengl/renderer/shaderparameterpack_p.h | 1 + 2 files changed, 2 insertions(+) (limited to 'src/render/renderers/opengl/renderer') 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) -- cgit v1.2.3