diff options
author | Paul Lemire <paul.lemire@kdab.com> | 2018-03-12 15:23:34 +0100 |
---|---|---|
committer | Paul Lemire <paul.lemire@kdab.com> | 2020-02-05 14:10:07 +0100 |
commit | 01358191691cc81acb58afba6f82e800bc1b427c (patch) | |
tree | f8be05bcfcda0616bd24125b994252ce91142a10 /src/plugins/renderers/opengl/renderer | |
parent | 0e115ff000fb294de8519bf5b39beee0d6bfa605 (diff) |
Move classes in OpenGL renderer plugin into an OpenGL namespace
Change-Id: I5314da1df7fbfd1b6db4412e7bc71231525d9de2
Reviewed-by: Mike Krus <mike.krus@kdab.com>
Diffstat (limited to 'src/plugins/renderers/opengl/renderer')
22 files changed, 146 insertions, 76 deletions
diff --git a/src/plugins/renderers/opengl/renderer/commandexecuter.cpp b/src/plugins/renderers/opengl/renderer/commandexecuter.cpp index 6498b44b8..03d5d5a7f 100644 --- a/src/plugins/renderers/opengl/renderer/commandexecuter.cpp +++ b/src/plugins/renderers/opengl/renderer/commandexecuter.cpp @@ -242,11 +242,11 @@ QJsonObject backendNodeToJSon(Handle handle, Manager *manager) return obj; } -QJsonObject parameterPackToJson(const Render::ShaderParameterPack &pack) +QJsonObject parameterPackToJson(const Render::OpenGL::ShaderParameterPack &pack) { QJsonObject obj; - const Render::PackUniformHash &uniforms = pack.uniforms(); + const Render::OpenGL::PackUniformHash &uniforms = pack.uniforms(); QJsonArray uniformsArray; for (int i = 0, m = uniforms.keys.size(); i < m; ++i) { QJsonObject uniformObj; @@ -261,7 +261,7 @@ QJsonObject parameterPackToJson(const Render::ShaderParameterPack &pack) obj.insert(QLatin1String("uniforms"), uniformsArray); QJsonArray texturesArray; - const QVector<Render::ShaderParameterPack::NamedResource> &textures = pack.textures(); + const QVector<Render::OpenGL::ShaderParameterPack::NamedResource> &textures = pack.textures(); for (const auto & texture : textures) { QJsonObject textureObj; textureObj.insert(QLatin1String("name"), Render::StringToInt::lookupString(texture.glslNameId)); @@ -270,7 +270,7 @@ QJsonObject parameterPackToJson(const Render::ShaderParameterPack &pack) } obj.insert(QLatin1String("textures"), texturesArray); - const QVector<Render::BlockToUBO> &ubos = pack.uniformBuffers(); + const QVector<Render::OpenGL::BlockToUBO> &ubos = pack.uniformBuffers(); QJsonArray ubosArray; for (const auto &ubo : ubos) { QJsonObject uboObj; @@ -281,7 +281,7 @@ QJsonObject parameterPackToJson(const Render::ShaderParameterPack &pack) } obj.insert(QLatin1String("ubos"), ubosArray); - const QVector<Render::BlockToSSBO> &ssbos = pack.shaderStorageBuffers(); + const QVector<Render::OpenGL::BlockToSSBO> &ssbos = pack.shaderStorageBuffers(); QJsonArray ssbosArray; for (const auto &ssbo : ssbos) { QJsonObject ssboObj; @@ -296,13 +296,13 @@ QJsonObject parameterPackToJson(const Render::ShaderParameterPack &pack) } // anonymous -CommandExecuter::CommandExecuter(Render::Renderer *renderer) +CommandExecuter::CommandExecuter(Render::OpenGL::Renderer *renderer) : m_renderer(renderer) { } // Render thread -void CommandExecuter::performAsynchronousCommandExecution(const QVector<Render::RenderView *> &views) +void CommandExecuter::performAsynchronousCommandExecution(const QVector<Render::OpenGL::RenderView *> &views) { QMutexLocker lock(&m_pendingCommandsMutex); const QVector<Qt3DCore::Debug::AsynchronousCommandReply *> shellCommands = std::move(m_pendingCommands); @@ -334,7 +334,7 @@ void CommandExecuter::performAsynchronousCommandExecution(const QVector<Render:: QJsonObject replyObj; QJsonArray viewArray; - for (Render::RenderView *v : views) { + for (Render::OpenGL::RenderView *v : views) { QJsonObject viewObj; viewObj.insert(QLatin1String("viewport"), typeToJsonValue(v->viewport())); viewObj.insert(QLatin1String("surfaceSize"), typeToJsonValue(v->surfaceSize())); @@ -346,7 +346,7 @@ void CommandExecuter::performAsynchronousCommandExecution(const QVector<Render:: viewObj.insert(QLatin1String("clearStencilValue"), v->clearStencilValue()); QJsonArray renderCommandsArray; - for (const Render::RenderCommand &c : v->commands()) { + for (Render::OpenGL::RenderCommand &c : v->commands()) { QJsonObject commandObj; Render::NodeManagers *nodeManagers = m_renderer->nodeManagers(); commandObj.insert(QLatin1String("shader"), typeToJsonValue(QVariant::fromValue(c.m_shaderId))); diff --git a/src/plugins/renderers/opengl/renderer/commandexecuter_p.h b/src/plugins/renderers/opengl/renderer/commandexecuter_p.h index 2d90bf4d6..9aea9fc2f 100644 --- a/src/plugins/renderers/opengl/renderer/commandexecuter_p.h +++ b/src/plugins/renderers/opengl/renderer/commandexecuter_p.h @@ -65,8 +65,10 @@ class AsynchronousCommandReply; namespace Qt3DRender { namespace Render { +namespace OpenGL { class Renderer; class RenderView; +} // OpenGL } // Render namespace Debug { @@ -74,14 +76,14 @@ namespace Debug { class CommandExecuter { public: - explicit CommandExecuter(Render::Renderer *renderer); + explicit CommandExecuter(Render::OpenGL::Renderer *renderer); - void performAsynchronousCommandExecution(const QVector<Render::RenderView *> &views); + void performAsynchronousCommandExecution(const QVector<Render::OpenGL::RenderView *> &views); QVariant executeCommand(const QStringList &args); private: - Render::Renderer *m_renderer; + Render::OpenGL::Renderer *m_renderer; QVector<Qt3DCore::Debug::AsynchronousCommandReply *> m_pendingCommands; QMutex m_pendingCommandsMutex; }; diff --git a/src/plugins/renderers/opengl/renderer/glshader.cpp b/src/plugins/renderers/opengl/renderer/glshader.cpp index 02fa2de6d..5e92d84c2 100644 --- a/src/plugins/renderers/opengl/renderer/glshader.cpp +++ b/src/plugins/renderers/opengl/renderer/glshader.cpp @@ -41,6 +41,7 @@ #include <QMutexLocker> #include <Qt3DRender/private/stringtoint_p.h> #include <graphicscontext_p.h> +#include <logging_p.h> QT_BEGIN_NAMESPACE @@ -48,6 +49,8 @@ namespace Qt3DRender { namespace Render { +namespace OpenGL { + GLShader::GLShader() : m_isLoaded(false) , m_graphicsContext(nullptr) @@ -309,6 +312,8 @@ void GLShader::initializeShaderStorageBlocks(const QVector<ShaderStorageBlock> & } } +} // OpenGL + } // Render } // Qt3DRender diff --git a/src/plugins/renderers/opengl/renderer/glshader_p.h b/src/plugins/renderers/opengl/renderer/glshader_p.h index 18293ac54..6bd5400af 100644 --- a/src/plugins/renderers/opengl/renderer/glshader_p.h +++ b/src/plugins/renderers/opengl/renderer/glshader_p.h @@ -37,8 +37,8 @@ ** ****************************************************************************/ -#ifndef QT3DRENDER_RENDER_GLSHADER_P_H -#define QT3DRENDER_RENDER_GLSHADER_P_H +#ifndef QT3DRENDER_RENDER_OPENGL_GLSHADER_P_H +#define QT3DRENDER_RENDER_OPENGL_GLSHADER_P_H // // W A R N I N G @@ -66,6 +66,8 @@ namespace Qt3DRender { namespace Render { +namespace OpenGL { + class Q_AUTOTEST_EXPORT GLShader { public: @@ -151,10 +153,12 @@ private: QMetaObject::Connection m_contextConnection; }; +} // OpenGL + } // Render } // Qt3DRender QT_END_NAMESPACE -#endif // QT3DRENDER_RENDER_GLSHADER_P_H +#endif // QT3DRENDER_RENDER_OPENGL_GLSHADER_P_H diff --git a/src/plugins/renderers/opengl/renderer/logging.cpp b/src/plugins/renderers/opengl/renderer/logging.cpp index ab7437eba..0d6ef1211 100644 --- a/src/plugins/renderers/opengl/renderer/logging.cpp +++ b/src/plugins/renderers/opengl/renderer/logging.cpp @@ -45,6 +45,8 @@ namespace Qt3DRender { namespace Render { +namespace OpenGL { + Q_LOGGING_CATEGORY(Backend, "Qt3D.Renderer.OpenGL.Backend", QtWarningMsg) Q_LOGGING_CATEGORY(Frontend, "Qt3D.Renderer.OpenGL.Frontend", QtWarningMsg) Q_LOGGING_CATEGORY(Io, "Qt3D.Renderer.OpenGL.IO", QtWarningMsg) @@ -58,6 +60,8 @@ Q_LOGGING_CATEGORY(Shaders, "Qt3D.Renderer.OpenGL.Shaders", QtWarningMsg) Q_LOGGING_CATEGORY(RenderStates, "Qt3D.Renderer.OpenGL.RenderStates", QtWarningMsg) Q_LOGGING_CATEGORY(VSyncAdvanceService, "Qt3D.Renderer.OpenGL.VsyncAdvanceService", QtWarningMsg) +} // namespace OpenGL + } // namespace Render } // namespace Qt3DRender diff --git a/src/plugins/renderers/opengl/renderer/logging_p.h b/src/plugins/renderers/opengl/renderer/logging_p.h index 8a550e22f..69c125195 100644 --- a/src/plugins/renderers/opengl/renderer/logging_p.h +++ b/src/plugins/renderers/opengl/renderer/logging_p.h @@ -59,6 +59,8 @@ namespace Qt3DRender { namespace Render { +namespace OpenGL { + Q_DECLARE_LOGGING_CATEGORY(Backend) Q_DECLARE_LOGGING_CATEGORY(Frontend) Q_DECLARE_LOGGING_CATEGORY(Io) @@ -72,6 +74,8 @@ Q_DECLARE_LOGGING_CATEGORY(Shaders) Q_DECLARE_LOGGING_CATEGORY(RenderStates) Q_DECLARE_LOGGING_CATEGORY(VSyncAdvanceService) +} // namespace OpenGL + } // namespace Render } // namespace Qt3DRender diff --git a/src/plugins/renderers/opengl/renderer/openglvertexarrayobject.cpp b/src/plugins/renderers/opengl/renderer/openglvertexarrayobject.cpp index 19ae4fa55..b43815f98 100644 --- a/src/plugins/renderers/opengl/renderer/openglvertexarrayobject.cpp +++ b/src/plugins/renderers/opengl/renderer/openglvertexarrayobject.cpp @@ -47,6 +47,7 @@ QT_BEGIN_NAMESPACE namespace Qt3DRender { namespace Render { +namespace OpenGL { OpenGLVertexArrayObject::OpenGLVertexArrayObject() : m_ctx(nullptr) @@ -159,6 +160,7 @@ void OpenGLVertexArrayObject::saveVertexAttribute(const SubmissionContext::VAOVe } +} // namespace OpenGL } // namespace Render } // namespace Qt3DRender diff --git a/src/plugins/renderers/opengl/renderer/openglvertexarrayobject_p.h b/src/plugins/renderers/opengl/renderer/openglvertexarrayobject_p.h index 99cf51ee8..ff58b3074 100644 --- a/src/plugins/renderers/opengl/renderer/openglvertexarrayobject_p.h +++ b/src/plugins/renderers/opengl/renderer/openglvertexarrayobject_p.h @@ -37,8 +37,8 @@ ** ****************************************************************************/ -#ifndef OPENGLVERTEXARRAYOBJECT_H -#define OPENGLVERTEXARRAYOBJECT_H +#ifndef QT3DRENDER_RENDER_OPENGL_OPENGLVERTEXARRAYOBJECT_H +#define QT3DRENDER_RENDER_OPENGL_OPENGLVERTEXARRAYOBJECT_H // // W A R N I N G @@ -60,11 +60,14 @@ namespace Qt3DRender { namespace Render { class GeometryManager; -class GLShaderManager; typedef QPair<HGeometry, Qt3DCore::QNodeId> VAOIdentifier; -class Q_AUTOTEST_EXPORT OpenGLVertexArrayObject +namespace OpenGL { + +class GLShaderManager; + +class Q_AUTOTEST_EXPORT OpenGLVertexArrayObject { public: OpenGLVertexArrayObject(); @@ -103,9 +106,10 @@ private: SubmissionContext::VAOIndexAttribute m_indexAttribute; }; +} // namespace OpenGL } // namespace Render } // namespace Qt3DRender QT_END_NAMESPACE -#endif // OPENGLVERTEXARRAYOBJECT_H +#endif // QT3DRENDER_RENDER_OPENGL_OPENGLVERTEXARRAYOBJECT_H diff --git a/src/plugins/renderers/opengl/renderer/rendercommand.cpp b/src/plugins/renderers/opengl/renderer/rendercommand.cpp index c6d42fde1..d4da1a41b 100644 --- a/src/plugins/renderers/opengl/renderer/rendercommand.cpp +++ b/src/plugins/renderers/opengl/renderer/rendercommand.cpp @@ -43,6 +43,7 @@ QT_BEGIN_NAMESPACE namespace Qt3DRender { namespace Render { +namespace OpenGL { RenderCommand::RenderCommand() : m_glShader(nullptr) @@ -85,6 +86,7 @@ bool operator==(const RenderCommand &a, const RenderCommand &b) noexcept a.m_isValid == b.m_isValid && a.m_computeCommand == b.m_computeCommand); } +} // namespace OpenGL } // namespace Render } // namespace Qt3DRender diff --git a/src/plugins/renderers/opengl/renderer/rendercommand_p.h b/src/plugins/renderers/opengl/renderer/rendercommand_p.h index 600c52959..123ff232b 100644 --- a/src/plugins/renderers/opengl/renderer/rendercommand_p.h +++ b/src/plugins/renderers/opengl/renderer/rendercommand_p.h @@ -38,8 +38,8 @@ ** ****************************************************************************/ -#ifndef QT3DRENDER_RENDER_RENDERCOMMAND_H -#define QT3DRENDER_RENDER_RENDERCOMMAND_H +#ifndef QT3DRENDER_RENDER_OPENGL_RENDERCOMMAND_H +#define QT3DRENDER_RENDER_OPENGL_RENDERCOMMAND_H // // W A R N I N G @@ -72,6 +72,9 @@ namespace Render { class RenderStateSet; using RenderStateSetPtr = QSharedPointer<RenderStateSet>; + +namespace OpenGL { + class GLShader; class Q_AUTOTEST_EXPORT RenderCommand @@ -172,6 +175,7 @@ struct EntityRenderCommandData using EntityRenderCommandDataPtr = QSharedPointer<EntityRenderCommandData>; +} // namespace OpenGL } // namespace Render @@ -179,4 +183,4 @@ using EntityRenderCommandDataPtr = QSharedPointer<EntityRenderCommandData>; QT_END_NAMESPACE -#endif // QT3DRENDER_RENDER_RENDERCOMMAND_H +#endif // QT3DRENDER_RENDER_OPENGL_RENDERCOMMAND_H diff --git a/src/plugins/renderers/opengl/renderer/renderer.cpp b/src/plugins/renderers/opengl/renderer/renderer.cpp index 2b9a34059..151483348 100644 --- a/src/plugins/renderers/opengl/renderer/renderer.cpp +++ b/src/plugins/renderers/opengl/renderer/renderer.cpp @@ -134,6 +134,7 @@ using namespace Qt3DCore; namespace Qt3DRender { namespace Render { +namespace OpenGL { namespace { @@ -209,7 +210,6 @@ private: } // anonymous - /*! \internal @@ -261,7 +261,7 @@ Renderer::Renderer(QRenderAspect::RenderType type) , m_updateSkinningPaletteJob(Render::UpdateSkinningPaletteJobPtr::create()) , m_updateLevelOfDetailJob(Render::UpdateLevelOfDetailJobPtr::create()) , m_updateMeshTriangleListJob(Render::UpdateMeshTriangleListJobPtr::create()) - , m_filterCompatibleTechniqueJob(Render::FilterCompatibleTechniqueJobPtr::create()) + , m_filterCompatibleTechniqueJob(FilterCompatibleTechniqueJobPtr::create()) , m_updateEntityLayersJob(Render::UpdateEntityLayersJobPtr::create()) , m_lightGathererJob(Render::LightGathererPtr::create()) , m_renderableEntityFilterJob(Render::RenderableEntityFilterPtr::create()) @@ -516,7 +516,8 @@ void Renderer::initialize() ctx->setFormat(sf); } - // Create OpenGL context + // Create OpenGL context<<<<<<< HEAD + if (ctx->create()) qCDebug(Backend) << "OpenGL context created with actual format" << ctx->format(); else @@ -794,18 +795,17 @@ void Renderer::doRender(bool swapBuffers) // RenderQueue is complete (but that means it may be of size 0) if (canSubmit && (queueIsComplete && !queueIsEmpty)) { - const QVector<Render::RenderView *> renderViews = m_renderQueue->nextFrameQueue(); + const QVector<Render::OpenGL::RenderView *> renderViews = m_renderQueue->nextFrameQueue(); QTaskLogger submissionStatsPart1(m_services->systemInformation(), {JobTypes::FrameSubmissionPart1, 0}, QTaskLogger::Submission); QTaskLogger submissionStatsPart2(m_services->systemInformation(), {JobTypes::FrameSubmissionPart2, 0}, QTaskLogger::Submission); - if (canRender()) { { // Scoped to destroy surfaceLock QSurface *surface = nullptr; - for (const Render::RenderView *rv: renderViews) { + for (const RenderView *rv: renderViews) { surface = rv->surface(); if (surface) break; @@ -902,7 +902,7 @@ void Renderer::doRender(bool swapBuffers) // Called by RenderViewJobs // When the frameQueue is complete and we are using a renderThread // we allow the render thread to proceed -void Renderer::enqueueRenderView(Render::RenderView *renderView, int submitOrder) +void Renderer::enqueueRenderView(RenderView *renderView, int submitOrder) { QMutexLocker locker(m_renderQueue->mutex()); // Prevent out of order execution // We cannot use a lock free primitive here because: @@ -1539,7 +1539,7 @@ void Renderer::downloadGLBuffers() // Happens in RenderThread context when all RenderViewJobs are done // Returns the id of the last bound FBO -Renderer::ViewSubmissionResultData Renderer::submitRenderViews(const QVector<Render::RenderView *> &renderViews) +Renderer::ViewSubmissionResultData Renderer::submitRenderViews(const QVector<RenderView *> &renderViews) { QElapsedTimer timer; quint64 queueElapsed = 0; @@ -1555,7 +1555,7 @@ Renderer::ViewSubmissionResultData Renderer::submitRenderViews(const QVector<Ren uint lastBoundFBOId = m_submissionContext->boundFrameBufferObject(); QSurface *surface = nullptr; QSurface *previousSurface = nullptr; - for (const Render::RenderView *rv: renderViews) { + for (const RenderView *rv: renderViews) { previousSurface = rv->surface(); if (previousSurface) break; @@ -2453,6 +2453,7 @@ QVector<Qt3DCore::QAspectJobPtr> Renderer::createRenderBufferJobs() const return dirtyBuffersJobs; } +} // namespace OpenGL } // namespace Render } // namespace Qt3DRender diff --git a/src/plugins/renderers/opengl/renderer/renderer_p.h b/src/plugins/renderers/opengl/renderer/renderer_p.h index bb05694fb..f24e77152 100644 --- a/src/plugins/renderers/opengl/renderer/renderer_p.h +++ b/src/plugins/renderers/opengl/renderer/renderer_p.h @@ -38,8 +38,8 @@ ** ****************************************************************************/ -#ifndef QT3DRENDER_RENDER_RENDERER_H -#define QT3DRENDER_RENDER_RENDERER_H +#ifndef QT3DRENDER_RENDER_OPENGL_RENDERER_H +#define QT3DRENDER_RENDER_OPENGL_RENDERER_H // // W A R N I N G @@ -139,15 +139,11 @@ class FrameProfiler; } class CameraLens; -class SubmissionContext; class FrameGraphNode; class Material; class Technique; class Shader; class Entity; -class RenderCommand; -class RenderQueue; -class RenderView; class Effect; class RenderPass; class RenderThread; @@ -155,16 +151,11 @@ class RenderStateSet; class VSyncFrameAdvanceService; class PickEventFilter; class NodeManagers; -class GLResourceManagers; -class GLShader; class ResourceAccessor; class UpdateLevelOfDetailJob; typedef QSharedPointer<UpdateLevelOfDetailJob> UpdateLevelOfDetailJobPtr; -using SynchronizerJobPtr = GenericLambdaJobPtr<std::function<void()>>; -using SynchronizerPostFramePtr = GenericLambdaJobAndPostFramePtr<std::function<void ()>, std::function<void (Qt3DCore::QAspectManager *)>>; - template<typename T, typename ... Ts> class FilterEntityByComponentJob; template<typename T, typename ... Ts> @@ -172,10 +163,23 @@ using FilterEntityByComponentJobPtr = QSharedPointer<FilterEntityByComponentJob< using ComputableEntityFilterPtr = FilterEntityByComponentJobPtr<Render::ComputeCommand, Render::Material>; using RenderableEntityFilterPtr = FilterEntityByComponentJobPtr<Render::GeometryRenderer, Render::Material>; +using SynchronizerJobPtr = GenericLambdaJobPtr<std::function<void()>>; +using SynchronizerPostFramePtr = GenericLambdaJobAndPostFramePtr<std::function<void ()>, std::function<void (Qt3DCore::QAspectManager *)>>; + namespace Debug { class ImGuiRenderer; } +namespace OpenGL { + +class CommandThread; +class SubmissionContext; +class RenderCommand; +class RenderQueue; +class RenderView; +class GLShader; +class GLResourceManagers; + class Q_AUTOTEST_EXPORT Renderer : public AbstractRenderer { public: @@ -320,7 +324,7 @@ public: QSurface *surface; }; - ViewSubmissionResultData submitRenderViews(const QVector<Render::RenderView *> &renderViews); + ViewSubmissionResultData submitRenderViews(const QVector<RenderView *> &renderViews); RendererCache *cache() { return &m_cache; } void setScreen(QScreen *scr) override; @@ -471,9 +475,10 @@ private: int m_jobsInLastFrame; }; +} // namespace OpenGL } // namespace Render } // namespace Qt3DRender QT_END_NAMESPACE -#endif // QT3DRENDER_RENDER_RENDERER_H +#endif // QT3DRENDER_RENDER_OPENGL_RENDERER_H diff --git a/src/plugins/renderers/opengl/renderer/renderercache_p.h b/src/plugins/renderers/opengl/renderer/renderercache_p.h index 70a5ef43c..6b3946002 100644 --- a/src/plugins/renderers/opengl/renderer/renderercache_p.h +++ b/src/plugins/renderers/opengl/renderer/renderercache_p.h @@ -37,8 +37,8 @@ ** ****************************************************************************/ -#ifndef QT3DRENDER_RENDER_RENDERERCACHE_P_H -#define QT3DRENDER_RENDER_RENDERERCACHE_P_H +#ifndef QT3DRENDER_RENDER_OPENGL_RENDERERCACHE_P_H +#define QT3DRENDER_RENDER_OPENGL_RENDERERCACHE_P_H // // W A R N I N G @@ -64,6 +64,8 @@ namespace Qt3DRender { namespace Render { +namespace OpenGL { + struct RendererCache { struct LeafNodeData @@ -88,10 +90,12 @@ private: QMutex m_mutex; }; +} // namespace OpenGL + } // namespace Render } // namespace Qt3DRender QT_END_NAMESPACE -#endif // QT3DRENDER_RENDER_RENDERERCACHE_P_H +#endif // QT3DRENDER_RENDER_OPENGL_RENDERERCACHE_P_H diff --git a/src/plugins/renderers/opengl/renderer/renderqueue.cpp b/src/plugins/renderers/opengl/renderer/renderqueue.cpp index 9ba66952f..15b89da30 100644 --- a/src/plugins/renderers/opengl/renderer/renderqueue.cpp +++ b/src/plugins/renderers/opengl/renderer/renderqueue.cpp @@ -47,6 +47,8 @@ namespace Qt3DRender { namespace Render { +namespace OpenGL { + RenderQueue::RenderQueue() : m_noRender(false) , m_wasReset(true) @@ -126,6 +128,8 @@ bool RenderQueue::isFrameQueueComplete() const || (m_targetRenderViewCount > 0 && m_targetRenderViewCount == m_currentRenderViewCount)); } +} // namespace OpenGL + } // namespace Render } // namespace Qt3DRender diff --git a/src/plugins/renderers/opengl/renderer/renderqueue_p.h b/src/plugins/renderers/opengl/renderer/renderqueue_p.h index e565115f2..0dcf7b8ee 100644 --- a/src/plugins/renderers/opengl/renderer/renderqueue_p.h +++ b/src/plugins/renderers/opengl/renderer/renderqueue_p.h @@ -37,8 +37,8 @@ ** ****************************************************************************/ -#ifndef QT3DRENDER_RENDER_RENDERQUEUE_H -#define QT3DRENDER_RENDER_RENDERQUEUE_H +#ifndef QT3DRENDER_RENDER_OPENGL_RENDERQUEUE_H +#define QT3DRENDER_RENDER_OPENGL_RENDERQUEUE_H // // W A R N I N G @@ -61,6 +61,8 @@ namespace Qt3DRender { namespace Render { +namespace OpenGL { + class RenderView; class Q_AUTOTEST_EXPORT RenderQueue @@ -93,10 +95,12 @@ private: QMutex m_mutex; }; +} // namespace OpenGL + } // namespace Render } // namespace Qt3DRender QT_END_NAMESPACE -#endif // QT3DRENDER_RENDER_RENDERQUEUE_H +#endif // QT3DRENDER_RENDER_OPENGL_RENDERQUEUE_H diff --git a/src/plugins/renderers/opengl/renderer/renderview.cpp b/src/plugins/renderers/opengl/renderer/renderview.cpp index c6a6ddbbb..f18f1a06a 100644 --- a/src/plugins/renderers/opengl/renderer/renderview.cpp +++ b/src/plugins/renderers/opengl/renderer/renderview.cpp @@ -85,6 +85,7 @@ QT_BEGIN_NAMESPACE namespace Qt3DRender { namespace Render { +namespace OpenGL { namespace { @@ -1232,6 +1233,7 @@ void RenderView::setIsDownloadBuffersEnable(bool isDownloadBuffersEnable) m_isDownloadBuffersEnable = isDownloadBuffersEnable; } +} // namespace OpenGL } // namespace Render } // namespace Qt3DRender diff --git a/src/plugins/renderers/opengl/renderer/renderview_p.h b/src/plugins/renderers/opengl/renderer/renderview_p.h index 78c40d80c..a835c17f0 100644 --- a/src/plugins/renderers/opengl/renderer/renderview_p.h +++ b/src/plugins/renderers/opengl/renderer/renderview_p.h @@ -38,8 +38,8 @@ ** ****************************************************************************/ -#ifndef QT3DRENDER_RENDER_RENDERVIEW_H -#define QT3DRENDER_RENDER_RENDERVIEW_H +#ifndef QT3DRENDER_RENDER_OPENGL_RENDERVIEW_H +#define QT3DRENDER_RENDER_OPENGL_RENDERVIEW_H // // W A R N I N G @@ -86,15 +86,18 @@ class QRenderPass; namespace Render { -class Renderer; class NodeManagers; -class RenderCommand; class RenderPassFilter; class TechniqueFilter; class ViewportNode; class Effect; class RenderPass; +namespace OpenGL { + +class Renderer; +class RenderCommand; + typedef QPair<ShaderUniform, QVariant> ActivePropertyContent; typedef QPair<QString, ActivePropertyContent > ActiveProperty; @@ -389,9 +392,10 @@ private: const QString &structName) const; }; +} // namespace OpenGL } // namespace Render } // namespace Qt3DRender QT_END_NAMESPACE -#endif // QT3DRENDER_RENDER_RENDERVIEW_H +#endif // QT3DRENDER_RENDER_OPENGL_ENDERVIEW_H diff --git a/src/plugins/renderers/opengl/renderer/renderviewbuilder.cpp b/src/plugins/renderers/opengl/renderer/renderviewbuilder.cpp index 4034af146..1e16209c6 100644 --- a/src/plugins/renderers/opengl/renderer/renderviewbuilder.cpp +++ b/src/plugins/renderers/opengl/renderer/renderviewbuilder.cpp @@ -46,6 +46,7 @@ QT_BEGIN_NAMESPACE namespace Qt3DRender { namespace Render { +namespace OpenGL { // In some cases having less jobs is better (especially on fast cpus where // splitting just adds more overhead). Ideally, we should try to set the value @@ -554,7 +555,7 @@ void RenderViewBuilder::prepareJobs() m_renderViewCommandBuilderJobs.reserve(RenderViewBuilder::m_optimalParallelJobCount); for (auto i = 0; i < RenderViewBuilder::m_optimalParallelJobCount; ++i) { - auto renderViewCommandBuilder = Render::RenderViewCommandBuilderJobPtr::create(); + auto renderViewCommandBuilder = Render::OpenGL::RenderViewCommandBuilderJobPtr::create(); m_renderViewCommandBuilderJobs.push_back(renderViewCommandBuilder); } m_syncRenderViewPreCommandBuildingJob = SynchronizerJobPtr::create(SyncPreCommandBuilding(m_renderViewJob, @@ -572,7 +573,7 @@ void RenderViewBuilder::prepareJobs() // Estimate the number of jobs to create based on the number of entities m_renderViewCommandUpdaterJobs.reserve(RenderViewBuilder::m_optimalParallelJobCount); for (auto i = 0; i < RenderViewBuilder::m_optimalParallelJobCount; ++i) { - auto renderViewCommandUpdater = Render::RenderViewCommandUpdaterJobPtr::create(); + auto renderViewCommandUpdater = Render::OpenGL::RenderViewCommandUpdaterJobPtr::create(); renderViewCommandUpdater->setRenderer(m_renderer); m_renderViewCommandUpdaterJobs.push_back(renderViewCommandUpdater); } @@ -584,7 +585,7 @@ void RenderViewBuilder::prepareJobs() const int lastRemaingElements = materialHandles.size() % RenderViewBuilder::m_optimalParallelJobCount; m_materialGathererJobs.reserve(RenderViewBuilder::m_optimalParallelJobCount); for (auto i = 0; i < RenderViewBuilder::m_optimalParallelJobCount; ++i) { - auto materialGatherer = Render::MaterialParameterGathererJobPtr::create(); + auto materialGatherer = MaterialParameterGathererJobPtr::create(); materialGatherer->setNodeManagers(m_renderer->nodeManagers()); if (i == RenderViewBuilder::m_optimalParallelJobCount - 1) materialGatherer->setHandles(materialHandles.mid(i * elementsPerJob, elementsPerJob + lastRemaingElements)); @@ -796,6 +797,8 @@ QVector<Entity *> RenderViewBuilder::entitiesInSubset(const QVector<Entity *> &e return intersection; } +} // OpenGL + } // Render } // Qt3DRender diff --git a/src/plugins/renderers/opengl/renderer/renderviewbuilder_p.h b/src/plugins/renderers/opengl/renderer/renderviewbuilder_p.h index 71719abee..98202670e 100644 --- a/src/plugins/renderers/opengl/renderer/renderviewbuilder_p.h +++ b/src/plugins/renderers/opengl/renderer/renderviewbuilder_p.h @@ -37,8 +37,8 @@ ** ****************************************************************************/ -#ifndef QT3DRENDER_RENDER_RENDERVIEWBUILDER_H -#define QT3DRENDER_RENDER_RENDERVIEWBUILDER_H +#ifndef QT3DRENDER_RENDER_OPENGL_RENDERVIEWBUILDER_H +#define QT3DRENDER_RENDER_OPENGL_RENDERVIEWBUILDER_H // // W A R N I N G @@ -70,6 +70,8 @@ namespace Qt3DRender { namespace Render { +namespace OpenGL { + class Renderer; using SynchronizerJobPtr = GenericLambdaJobPtr<std::function<void()>>; @@ -139,10 +141,12 @@ private: static const int m_optimalParallelJobCount; }; +} // OpenGL + } // Render } // Qt3DRender QT_END_NAMESPACE -#endif // QT3DRENDER_RENDER_RENDERVIEWBUILDER_H +#endif // QT3DRENDER_RENDER_OPENGL_RENDERVIEWBUILDER_H diff --git a/src/plugins/renderers/opengl/renderer/shaderparameterpack.cpp b/src/plugins/renderers/opengl/renderer/shaderparameterpack.cpp index e3cc7baf7..8c509f804 100644 --- a/src/plugins/renderers/opengl/renderer/shaderparameterpack.cpp +++ b/src/plugins/renderers/opengl/renderer/shaderparameterpack.cpp @@ -54,6 +54,7 @@ QT_BEGIN_NAMESPACE namespace Qt3DRender { namespace Render { +namespace OpenGL { ShaderParameterPack::~ShaderParameterPack() { @@ -106,6 +107,7 @@ void ShaderParameterPack::setSubmissionUniform(const ShaderUniform &uniform) m_submissionUniforms.push_back(uniform); } +} // namespace OpenGL } // namespace Render } // namespace Qt3DRender diff --git a/src/plugins/renderers/opengl/renderer/shaderparameterpack_p.h b/src/plugins/renderers/opengl/renderer/shaderparameterpack_p.h index 045081afd..d658d223b 100644 --- a/src/plugins/renderers/opengl/renderer/shaderparameterpack_p.h +++ b/src/plugins/renderers/opengl/renderer/shaderparameterpack_p.h @@ -37,8 +37,8 @@ ** ****************************************************************************/ -#ifndef QT3DRENDER_RENDER_SHADERPARAMETERPACK_P_H -#define QT3DRENDER_RENDER_SHADERPARAMETERPACK_P_H +#ifndef QT3DRENDER_RENDER_OPENGL_SHADERPARAMETERPACK_P_H +#define QT3DRENDER_RENDER_OPENGL_SHADERPARAMETERPACK_P_H // // W A R N I N G @@ -70,6 +70,7 @@ class QFrameAllocator; namespace Qt3DRender { namespace Render { +namespace OpenGL { class GraphicsContext; @@ -79,14 +80,14 @@ struct BlockToUBO { bool m_needsUpdate; QHash<QString, QVariant> m_updatedProperties; }; -QT3D_DECLARE_TYPEINFO_2(Qt3DRender, Render, BlockToUBO, Q_MOVABLE_TYPE) +QT3D_DECLARE_TYPEINFO_3(Qt3DRender, Render, OpenGL, 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) +QT3D_DECLARE_TYPEINFO_3(Qt3DRender, Render, OpenGL, BlockToSSBO, Q_PRIMITIVE_TYPE) struct PackUniformHash @@ -209,13 +210,14 @@ private: friend class RenderView; }; -QT3D_DECLARE_TYPEINFO_2(Qt3DRender, Render, ShaderParameterPack::NamedResource, Q_PRIMITIVE_TYPE) +QT3D_DECLARE_TYPEINFO_3(Qt3DRender, Render, OpenGL, ShaderParameterPack::NamedResource, Q_PRIMITIVE_TYPE) +} // namespace OpenGL } // namespace Render } // namespace Qt3DRender QT_END_NAMESPACE -Q_DECLARE_METATYPE(Qt3DRender::Render::ShaderParameterPack) +Q_DECLARE_METATYPE(Qt3DRender::Render::OpenGL::ShaderParameterPack) -#endif // QT3DRENDER_RENDER_SHADERPARAMETERPACK_P_H +#endif // QT3DRENDER_RENDER_OPENGL_SHADERPARAMETERPACK_P_H diff --git a/src/plugins/renderers/opengl/renderer/shadervariables_p.h b/src/plugins/renderers/opengl/renderer/shadervariables_p.h index 98b98ae5c..94ea9b7e0 100644 --- a/src/plugins/renderers/opengl/renderer/shadervariables_p.h +++ b/src/plugins/renderers/opengl/renderer/shadervariables_p.h @@ -37,8 +37,8 @@ ** ****************************************************************************/ -#ifndef QT3DRENDER_RENDER_SHADERVARIABLES_P_H -#define QT3DRENDER_RENDER_SHADERVARIABLES_P_H +#ifndef QT3DRENDER_RENDER_OPENGL_SHADERVARIABLES_P_H +#define QT3DRENDER_RENDER_OPENGL_SHADERVARIABLES_P_H // // W A R N I N G @@ -60,6 +60,8 @@ namespace Qt3DRender { namespace Render { +namespace OpenGL { + struct ShaderAttribute { ShaderAttribute() @@ -75,7 +77,7 @@ struct ShaderAttribute int m_size; int m_location; }; -QT3D_DECLARE_TYPEINFO_2(Qt3DRender, Render, ShaderAttribute, Q_MOVABLE_TYPE) +QT3D_DECLARE_TYPEINFO_3(Qt3DRender, Render, OpenGL, ShaderAttribute, Q_MOVABLE_TYPE) struct Q_AUTOTEST_EXPORT ShaderUniform { @@ -103,7 +105,7 @@ struct Q_AUTOTEST_EXPORT ShaderUniform uint m_rawByteSize; // contains byte size (size / type / strides) // size, offset and strides are in bytes }; -QT3D_DECLARE_TYPEINFO_2(Qt3DRender, Render, ShaderUniform, Q_MOVABLE_TYPE) +QT3D_DECLARE_TYPEINFO_3(Qt3DRender, Render, OpenGL, ShaderUniform, Q_MOVABLE_TYPE) struct Q_AUTOTEST_EXPORT ShaderUniformBlock { @@ -122,7 +124,7 @@ struct Q_AUTOTEST_EXPORT ShaderUniformBlock int m_activeUniformsCount; int m_size; }; -QT3D_DECLARE_TYPEINFO_2(Qt3DRender, Render, ShaderUniformBlock, Q_MOVABLE_TYPE) +QT3D_DECLARE_TYPEINFO_3(Qt3DRender, Render, OpenGL, ShaderUniformBlock, Q_MOVABLE_TYPE) struct Q_AUTOTEST_EXPORT ShaderStorageBlock { @@ -141,7 +143,9 @@ struct Q_AUTOTEST_EXPORT ShaderStorageBlock int m_size; int m_activeVariablesCount; }; -QT3D_DECLARE_TYPEINFO_2(Qt3DRender, Render, ShaderStorageBlock, Q_MOVABLE_TYPE) +QT3D_DECLARE_TYPEINFO_3(Qt3DRender, Render, OpenGL, ShaderStorageBlock, Q_MOVABLE_TYPE) + +} // namespace OpenGL } // namespace Render @@ -149,4 +153,4 @@ QT3D_DECLARE_TYPEINFO_2(Qt3DRender, Render, ShaderStorageBlock, Q_MOVABLE_TYPE) QT_END_NAMESPACE -#endif // QT3DRENDER_RENDER_SHADERVARIABLES_P_H +#endif // QT3DRENDER_RENDER_OPENGL_SHADERVARIABLES_P_H |