summaryrefslogtreecommitdiffstats
path: root/src/plugins/renderers/opengl/renderer
diff options
context:
space:
mode:
authorPaul Lemire <paul.lemire@kdab.com>2018-03-12 15:23:34 +0100
committerPaul Lemire <paul.lemire@kdab.com>2020-02-05 14:10:07 +0100
commit01358191691cc81acb58afba6f82e800bc1b427c (patch)
treef8be05bcfcda0616bd24125b994252ce91142a10 /src/plugins/renderers/opengl/renderer
parent0e115ff000fb294de8519bf5b39beee0d6bfa605 (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')
-rw-r--r--src/plugins/renderers/opengl/renderer/commandexecuter.cpp18
-rw-r--r--src/plugins/renderers/opengl/renderer/commandexecuter_p.h8
-rw-r--r--src/plugins/renderers/opengl/renderer/glshader.cpp5
-rw-r--r--src/plugins/renderers/opengl/renderer/glshader_p.h10
-rw-r--r--src/plugins/renderers/opengl/renderer/logging.cpp4
-rw-r--r--src/plugins/renderers/opengl/renderer/logging_p.h4
-rw-r--r--src/plugins/renderers/opengl/renderer/openglvertexarrayobject.cpp2
-rw-r--r--src/plugins/renderers/opengl/renderer/openglvertexarrayobject_p.h14
-rw-r--r--src/plugins/renderers/opengl/renderer/rendercommand.cpp2
-rw-r--r--src/plugins/renderers/opengl/renderer/rendercommand_p.h10
-rw-r--r--src/plugins/renderers/opengl/renderer/renderer.cpp19
-rw-r--r--src/plugins/renderers/opengl/renderer/renderer_p.h31
-rw-r--r--src/plugins/renderers/opengl/renderer/renderercache_p.h10
-rw-r--r--src/plugins/renderers/opengl/renderer/renderqueue.cpp4
-rw-r--r--src/plugins/renderers/opengl/renderer/renderqueue_p.h10
-rw-r--r--src/plugins/renderers/opengl/renderer/renderview.cpp2
-rw-r--r--src/plugins/renderers/opengl/renderer/renderview_p.h14
-rw-r--r--src/plugins/renderers/opengl/renderer/renderviewbuilder.cpp9
-rw-r--r--src/plugins/renderers/opengl/renderer/renderviewbuilder_p.h10
-rw-r--r--src/plugins/renderers/opengl/renderer/shaderparameterpack.cpp2
-rw-r--r--src/plugins/renderers/opengl/renderer/shaderparameterpack_p.h16
-rw-r--r--src/plugins/renderers/opengl/renderer/shadervariables_p.h18
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