summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Lemire <paul.lemire@kdab.com>2018-03-12 08:32:35 +0100
committerPaul Lemire <paul.lemire@kdab.com>2019-12-19 07:31:11 +0100
commitd3042802000902add8662b2fb66e76cc9abb6b5c (patch)
treed03d2b95ce5dff8c4d48a6641e59bc620758cd15
parent421c06b46357b47bf201639eebcbca2566f4941b (diff)
Make the OpenGL renderer a plugin
By default the QRenderAspect will try to load this plugin Change-Id: Ie55e207fb8e6d0b64f717bbb99699eb669eaa3f2 Task-number: QTBUG-61151
-rw-r--r--src/plugins/renderers/dummy/dummy.pro0
-rw-r--r--src/plugins/renderers/opengl/graphicshelpers/graphicscontext.cpp (renamed from src/render/renderers/opengl/graphicshelpers/graphicscontext.cpp)34
-rw-r--r--src/plugins/renderers/opengl/graphicshelpers/graphicscontext_p.h (renamed from src/render/renderers/opengl/graphicshelpers/graphicscontext_p.h)8
-rw-r--r--src/plugins/renderers/opengl/graphicshelpers/graphicshelperes2.cpp (renamed from src/render/renderers/opengl/graphicshelpers/graphicshelperes2.cpp)4
-rw-r--r--src/plugins/renderers/opengl/graphicshelpers/graphicshelperes2_p.h (renamed from src/render/renderers/opengl/graphicshelpers/graphicshelperes2_p.h)2
-rw-r--r--src/plugins/renderers/opengl/graphicshelpers/graphicshelperes3.cpp (renamed from src/render/renderers/opengl/graphicshelpers/graphicshelperes3.cpp)2
-rw-r--r--src/plugins/renderers/opengl/graphicshelpers/graphicshelperes3_1.cpp (renamed from src/render/renderers/opengl/graphicshelpers/graphicshelperes3_1.cpp)2
-rw-r--r--src/plugins/renderers/opengl/graphicshelpers/graphicshelperes3_1_p.h (renamed from src/render/renderers/opengl/graphicshelpers/graphicshelperes3_1_p.h)2
-rw-r--r--src/plugins/renderers/opengl/graphicshelpers/graphicshelperes3_2.cpp (renamed from src/render/renderers/opengl/graphicshelpers/graphicshelperes3_2.cpp)0
-rw-r--r--src/plugins/renderers/opengl/graphicshelpers/graphicshelperes3_2_p.h (renamed from src/render/renderers/opengl/graphicshelpers/graphicshelperes3_2_p.h)2
-rw-r--r--src/plugins/renderers/opengl/graphicshelpers/graphicshelperes3_p.h (renamed from src/render/renderers/opengl/graphicshelpers/graphicshelperes3_p.h)2
-rw-r--r--src/plugins/renderers/opengl/graphicshelpers/graphicshelpergl2.cpp (renamed from src/render/renderers/opengl/graphicshelpers/graphicshelpergl2.cpp)2
-rw-r--r--src/plugins/renderers/opengl/graphicshelpers/graphicshelpergl2_p.h (renamed from src/render/renderers/opengl/graphicshelpers/graphicshelpergl2_p.h)2
-rw-r--r--src/plugins/renderers/opengl/graphicshelpers/graphicshelpergl3_2.cpp (renamed from src/render/renderers/opengl/graphicshelpers/graphicshelpergl3_2.cpp)2
-rw-r--r--src/plugins/renderers/opengl/graphicshelpers/graphicshelpergl3_2_p.h (renamed from src/render/renderers/opengl/graphicshelpers/graphicshelpergl3_2_p.h)2
-rw-r--r--src/plugins/renderers/opengl/graphicshelpers/graphicshelpergl3_3.cpp (renamed from src/render/renderers/opengl/graphicshelpers/graphicshelpergl3_3.cpp)2
-rw-r--r--src/plugins/renderers/opengl/graphicshelpers/graphicshelpergl3_3_p.h (renamed from src/render/renderers/opengl/graphicshelpers/graphicshelpergl3_3_p.h)2
-rw-r--r--src/plugins/renderers/opengl/graphicshelpers/graphicshelpergl4.cpp (renamed from src/render/renderers/opengl/graphicshelpers/graphicshelpergl4.cpp)2
-rw-r--r--src/plugins/renderers/opengl/graphicshelpers/graphicshelpergl4_p.h (renamed from src/render/renderers/opengl/graphicshelpers/graphicshelpergl4_p.h)2
-rw-r--r--src/plugins/renderers/opengl/graphicshelpers/graphicshelperinterface_p.h (renamed from src/render/renderers/opengl/graphicshelpers/graphicshelperinterface_p.h)2
-rw-r--r--src/plugins/renderers/opengl/graphicshelpers/graphicshelpers.pri (renamed from src/render/renderers/opengl/graphicshelpers/graphicshelpers.pri)4
-rw-r--r--src/plugins/renderers/opengl/graphicshelpers/imagesubmissioncontext.cpp (renamed from src/render/renderers/opengl/graphicshelpers/imagesubmissioncontext.cpp)4
-rw-r--r--src/plugins/renderers/opengl/graphicshelpers/imagesubmissioncontext_p.h (renamed from src/render/renderers/opengl/graphicshelpers/imagesubmissioncontext_p.h)0
-rw-r--r--src/plugins/renderers/opengl/graphicshelpers/qgraphicsutils_p.h (renamed from src/render/backend/qgraphicsutils_p.h)2
-rw-r--r--src/plugins/renderers/opengl/graphicshelpers/submissioncontext.cpp (renamed from src/render/renderers/opengl/graphicshelpers/submissioncontext.cpp)28
-rw-r--r--src/plugins/renderers/opengl/graphicshelpers/submissioncontext_p.h (renamed from src/render/renderers/opengl/graphicshelpers/submissioncontext_p.h)10
-rw-r--r--src/plugins/renderers/opengl/graphicshelpers/texturesubmissioncontext.cpp (renamed from src/render/renderers/opengl/graphicshelpers/texturesubmissioncontext.cpp)4
-rw-r--r--src/plugins/renderers/opengl/graphicshelpers/texturesubmissioncontext_p.h (renamed from src/render/renderers/opengl/graphicshelpers/texturesubmissioncontext_p.h)0
-rw-r--r--src/plugins/renderers/opengl/io/glbuffer.cpp (renamed from src/render/renderers/opengl/io/glbuffer.cpp)2
-rw-r--r--src/plugins/renderers/opengl/io/glbuffer_p.h (renamed from src/render/renderers/opengl/io/glbuffer_p.h)0
-rw-r--r--src/plugins/renderers/opengl/io/io.pri (renamed from src/render/renderers/opengl/io/io.pri)0
-rw-r--r--src/plugins/renderers/opengl/jobs/filtercompatibletechniquejob.cpp (renamed from src/render/renderers/opengl/jobs/filtercompatibletechniquejob.cpp)4
-rw-r--r--src/plugins/renderers/opengl/jobs/filtercompatibletechniquejob_p.h (renamed from src/render/renderers/opengl/jobs/filtercompatibletechniquejob_p.h)0
-rw-r--r--src/plugins/renderers/opengl/jobs/jobs.pri (renamed from src/render/renderers/opengl/jobs/jobs.pri)0
-rw-r--r--src/plugins/renderers/opengl/jobs/materialparametergathererjob.cpp (renamed from src/render/renderers/opengl/jobs/materialparametergathererjob.cpp)0
-rw-r--r--src/plugins/renderers/opengl/jobs/materialparametergathererjob_p.h (renamed from src/render/renderers/opengl/jobs/materialparametergathererjob_p.h)2
-rw-r--r--src/plugins/renderers/opengl/jobs/renderviewbuilderjob.cpp82
-rw-r--r--src/plugins/renderers/opengl/jobs/renderviewbuilderjob_p.h96
-rw-r--r--src/plugins/renderers/opengl/jobs/renderviewcommandbuilderjob.cpp (renamed from src/render/renderers/opengl/jobs/renderviewcommandbuilderjob.cpp)2
-rw-r--r--src/plugins/renderers/opengl/jobs/renderviewcommandbuilderjob_p.h (renamed from src/render/renderers/opengl/jobs/renderviewcommandbuilderjob_p.h)2
-rw-r--r--src/plugins/renderers/opengl/jobs/renderviewcommandupdaterjob.cpp (renamed from src/render/renderers/opengl/jobs/renderviewcommandupdaterjob.cpp)4
-rw-r--r--src/plugins/renderers/opengl/jobs/renderviewcommandupdaterjob_p.h (renamed from src/render/renderers/opengl/jobs/renderviewcommandupdaterjob_p.h)2
-rw-r--r--src/plugins/renderers/opengl/jobs/renderviewinitializerjob.cpp (renamed from src/render/renderers/opengl/jobs/renderviewinitializerjob.cpp)6
-rw-r--r--src/plugins/renderers/opengl/jobs/renderviewinitializerjob_p.h (renamed from src/render/renderers/opengl/jobs/renderviewinitializerjob_p.h)0
-rw-r--r--src/plugins/renderers/opengl/jobs/renderviewjobutils.cpp (renamed from src/render/renderers/opengl/jobs/renderviewjobutils.cpp)8
-rw-r--r--src/plugins/renderers/opengl/jobs/renderviewjobutils_p.h (renamed from src/render/renderers/opengl/jobs/renderviewjobutils_p.h)0
-rw-r--r--src/plugins/renderers/opengl/main.cpp59
-rw-r--r--src/plugins/renderers/opengl/managers/gl_handle_types_p.h (renamed from src/render/renderers/opengl/managers/gl_handle_types_p.h)0
-rw-r--r--src/plugins/renderers/opengl/managers/glresourcemanagers.cpp (renamed from src/render/renderers/opengl/managers/glresourcemanagers.cpp)2
-rw-r--r--src/plugins/renderers/opengl/managers/glresourcemanagers_p.h (renamed from src/render/renderers/opengl/managers/glresourcemanagers_p.h)10
-rw-r--r--src/plugins/renderers/opengl/managers/managers.pri (renamed from src/render/renderers/opengl/managers/managers.pri)1
-rw-r--r--src/plugins/renderers/opengl/opengl.pri (renamed from src/render/renderers/opengl/opengl.pri)6
-rw-r--r--src/plugins/renderers/opengl/opengl.pro28
-rw-r--r--src/plugins/renderers/opengl/openglrenderer.json3
-rw-r--r--src/plugins/renderers/opengl/renderer/commandexecuter.cpp (renamed from src/render/backend/commandexecuter.cpp)12
-rw-r--r--src/plugins/renderers/opengl/renderer/commandexecuter_p.h (renamed from src/render/backend/commandexecuter_p.h)0
-rw-r--r--src/plugins/renderers/opengl/renderer/glfence_p.h (renamed from src/render/renderers/opengl/graphicshelpers/glfence_p.h)0
-rw-r--r--src/plugins/renderers/opengl/renderer/glshader.cpp (renamed from src/render/renderers/opengl/renderer/glshader.cpp)2
-rw-r--r--src/plugins/renderers/opengl/renderer/glshader_p.h (renamed from src/render/renderers/opengl/renderer/glshader_p.h)4
-rw-r--r--src/plugins/renderers/opengl/renderer/logging.cpp65
-rw-r--r--src/plugins/renderers/opengl/renderer/logging_p.h81
-rw-r--r--src/plugins/renderers/opengl/renderer/openglvertexarrayobject.cpp (renamed from src/render/renderers/opengl/renderer/openglvertexarrayobject.cpp)6
-rw-r--r--src/plugins/renderers/opengl/renderer/openglvertexarrayobject_p.h (renamed from src/render/renderers/opengl/renderer/openglvertexarrayobject_p.h)2
-rw-r--r--src/plugins/renderers/opengl/renderer/rendercommand.cpp (renamed from src/render/renderers/opengl/renderer/rendercommand.cpp)0
-rw-r--r--src/plugins/renderers/opengl/renderer/rendercommand_p.h (renamed from src/render/renderers/opengl/renderer/rendercommand_p.h)6
-rw-r--r--src/plugins/renderers/opengl/renderer/renderer.cpp (renamed from src/render/renderers/opengl/renderer/renderer.cpp)29
-rw-r--r--src/plugins/renderers/opengl/renderer/renderer.pri (renamed from src/render/renderers/opengl/renderer/renderer.pri)10
-rw-r--r--src/plugins/renderers/opengl/renderer/renderer_p.h (renamed from src/render/renderers/opengl/renderer/renderer_p.h)16
-rw-r--r--src/plugins/renderers/opengl/renderer/renderercache_p.h (renamed from src/render/renderers/opengl/renderer/renderercache_p.h)4
-rw-r--r--src/plugins/renderers/opengl/renderer/renderqueue.cpp (renamed from src/render/renderers/opengl/renderer/renderqueue.cpp)2
-rw-r--r--src/plugins/renderers/opengl/renderer/renderqueue_p.h (renamed from src/render/renderers/opengl/renderer/renderqueue_p.h)0
-rw-r--r--src/plugins/renderers/opengl/renderer/renderview.cpp (renamed from src/render/renderers/opengl/renderer/renderview.cpp)12
-rw-r--r--src/plugins/renderers/opengl/renderer/renderview_p.h (renamed from src/render/renderers/opengl/renderer/renderview_p.h)17
-rw-r--r--src/plugins/renderers/opengl/renderer/renderviewbuilder.cpp (renamed from src/render/renderers/opengl/renderer/renderviewbuilder.cpp)0
-rw-r--r--src/plugins/renderers/opengl/renderer/renderviewbuilder_p.h (renamed from src/render/renderers/opengl/renderer/renderviewbuilder_p.h)9
-rw-r--r--src/plugins/renderers/opengl/renderer/shaderparameterpack.cpp (renamed from src/render/renderers/opengl/renderer/shaderparameterpack.cpp)2
-rw-r--r--src/plugins/renderers/opengl/renderer/shaderparameterpack_p.h (renamed from src/render/renderers/opengl/renderer/shaderparameterpack_p.h)2
-rw-r--r--src/plugins/renderers/opengl/renderer/shadervariables_p.h (renamed from src/render/renderers/opengl/renderer/shadervariables_p.h)0
-rw-r--r--src/plugins/renderers/opengl/textures/gltexture.cpp (renamed from src/render/renderers/opengl/textures/gltexture.cpp)2
-rw-r--r--src/plugins/renderers/opengl/textures/gltexture_p.h (renamed from src/render/renderers/opengl/textures/gltexture_p.h)0
-rw-r--r--src/plugins/renderers/opengl/textures/renderbuffer.cpp (renamed from src/render/renderers/opengl/textures/renderbuffer.cpp)0
-rw-r--r--src/plugins/renderers/opengl/textures/renderbuffer_p.h (renamed from src/render/renderers/opengl/textures/renderbuffer_p.h)0
-rw-r--r--src/plugins/renderers/opengl/textures/textures.pri (renamed from src/render/renderers/opengl/textures/textures.pri)0
-rw-r--r--src/plugins/renderers/renderers.pro9
-rw-r--r--src/quick3d/quick3dscene2d/items/scene2d.cpp2
-rw-r--r--src/render/backend/apishadermanager_p.h2
-rw-r--r--src/render/backend/attachmentpack_p.h5
-rw-r--r--src/render/backend/backendnode.cpp3
-rw-r--r--src/render/backend/cameralens.cpp3
-rw-r--r--src/render/backend/computecommand_p.h2
-rw-r--r--src/render/backend/entity_p.h4
-rw-r--r--src/render/backend/levelofdetail_p.h2
-rw-r--r--src/render/backend/managers_p.h62
-rw-r--r--src/render/backend/offscreensurfacehelper_p.h3
-rw-r--r--src/render/backend/platformsurfacefilter.cpp2
-rw-r--r--src/render/backend/platformsurfacefilter_p.h2
-rw-r--r--src/render/backend/render-backend.pri5
-rw-r--r--src/render/backend/rendersettings_p.h2
-rw-r--r--src/render/backend/rendertarget_p.h2
-rw-r--r--src/render/backend/rendertargetoutput_p.h2
-rw-r--r--src/render/backend/renderthread_p.h4
-rw-r--r--src/render/backend/resourceaccessor.cpp1
-rw-r--r--src/render/backend/stringtoint_p.h3
-rw-r--r--src/render/backend/transform_p.h2
-rw-r--r--src/render/backend/uniform_p.h6
-rw-r--r--src/render/framegraph/blitframebuffer_p.h2
-rw-r--r--src/render/framegraph/buffercapture_p.h2
-rw-r--r--src/render/framegraph/cameraselectornode.cpp3
-rw-r--r--src/render/framegraph/cameraselectornode_p.h2
-rw-r--r--src/render/framegraph/clearbuffers_p.h2
-rw-r--r--src/render/framegraph/dispatchcompute_p.h2
-rw-r--r--src/render/framegraph/framegraphnode.cpp2
-rw-r--r--src/render/framegraph/framegraphnode_p.h2
-rw-r--r--src/render/framegraph/framegraphvisitor.cpp2
-rw-r--r--src/render/framegraph/framegraphvisitor_p.h3
-rw-r--r--src/render/framegraph/frustumculling_p.h2
-rw-r--r--src/render/framegraph/layerfilternode_p.h2
-rw-r--r--src/render/framegraph/memorybarrier_p.h2
-rw-r--r--src/render/framegraph/nodraw_p.h2
-rw-r--r--src/render/framegraph/proximityfilter_p.h2
-rw-r--r--src/render/framegraph/rendercapture_p.h2
-rw-r--r--src/render/framegraph/renderpassfilternode_p.h2
-rw-r--r--src/render/framegraph/rendersurfaceselector.cpp1
-rw-r--r--src/render/framegraph/rendersurfaceselector_p.h2
-rw-r--r--src/render/framegraph/rendertargetselectornode.cpp1
-rw-r--r--src/render/framegraph/rendertargetselectornode_p.h2
-rw-r--r--src/render/framegraph/setfence_p.h2
-rw-r--r--src/render/framegraph/sortpolicy_p.h2
-rw-r--r--src/render/framegraph/statesetnode_p.h2
-rw-r--r--src/render/framegraph/subtreeenabler.cpp1
-rw-r--r--src/render/framegraph/techniquefilternode_p.h2
-rw-r--r--src/render/framegraph/viewportnode_p.h2
-rw-r--r--src/render/frontend/qrenderaspect.cpp27
-rw-r--r--src/render/frontend/qrenderaspect_p.h1
-rw-r--r--src/render/frontend/sphere_p.h2
-rw-r--r--src/render/geometry/armature_p.h2
-rw-r--r--src/render/geometry/attribute_p.h2
-rw-r--r--src/render/geometry/buffer_p.h2
-rw-r--r--src/render/geometry/buffermanager_p.h2
-rw-r--r--src/render/geometry/geometry_p.h2
-rw-r--r--src/render/geometry/geometryrenderer_p.h2
-rw-r--r--src/render/geometry/geometryrenderermanager_p.h2
-rw-r--r--src/render/geometry/joint_p.h2
-rw-r--r--src/render/geometry/skeleton_p.h2
-rw-r--r--src/render/io/scene_p.h2
-rw-r--r--src/render/io/scenemanager_p.h2
-rw-r--r--src/render/jobs/abstractpickingjob.cpp1
-rw-r--r--src/render/jobs/abstractpickingjob_p.h3
-rw-r--r--src/render/jobs/computefilteredboundingvolumejob.cpp1
-rw-r--r--src/render/jobs/expandboundingvolumejob.cpp1
-rw-r--r--src/render/jobs/filterproximitydistancejob_p.h3
-rw-r--r--src/render/jobs/framecleanupjob.cpp1
-rw-r--r--src/render/jobs/frustumcullingjob.cpp1
-rw-r--r--src/render/jobs/frustumcullingjob_p.h18
-rw-r--r--src/render/jobs/lightgatherer.cpp1
-rw-r--r--src/render/jobs/lightgatherer_p.h3
-rw-r--r--src/render/jobs/loadbufferjob.cpp2
-rw-r--r--src/render/jobs/loadbufferjob_p.h2
-rw-r--r--src/render/jobs/loadgeometryjob_p.h3
-rw-r--r--src/render/jobs/loadscenejob.cpp2
-rw-r--r--src/render/jobs/loadscenejob_p.h3
-rw-r--r--src/render/jobs/loadskeletonjob.cpp3
-rw-r--r--src/render/jobs/pickboundingvolumejob.cpp1
-rw-r--r--src/render/jobs/pickboundingvolumejob_p.h3
-rw-r--r--src/render/jobs/raycastingjob.cpp1
-rw-r--r--src/render/jobs/raycastingjob_p.h3
-rw-r--r--src/render/jobs/updateskinningpalettejob_p.h3
-rw-r--r--src/render/jobs/updateworldtransformjob.cpp1
-rw-r--r--src/render/lights/environmentlight_p.h2
-rw-r--r--src/render/lights/light_p.h2
-rw-r--r--src/render/lights/lightsource_p.h4
-rw-r--r--src/render/materialsystem/effect.cpp2
-rw-r--r--src/render/materialsystem/effect_p.h2
-rw-r--r--src/render/materialsystem/filterkey_p.h2
-rw-r--r--src/render/materialsystem/material_p.h3
-rw-r--r--src/render/materialsystem/parameter_p.h2
-rw-r--r--src/render/materialsystem/qshaderprogram_p.h5
-rw-r--r--src/render/materialsystem/renderpass.cpp1
-rw-r--r--src/render/materialsystem/renderpass_p.h2
-rw-r--r--src/render/materialsystem/shader.cpp1
-rw-r--r--src/render/materialsystem/shader_p.h2
-rw-r--r--src/render/materialsystem/shaderdata.cpp3
-rw-r--r--src/render/materialsystem/shaderdata_p.h3
-rw-r--r--src/render/materialsystem/technique.cpp1
-rw-r--r--src/render/materialsystem/techniquemanager_p.h2
-rw-r--r--src/render/picking/objectpicker_p.h2
-rw-r--r--src/render/picking/pickeventfilter_p.h3
-rw-r--r--src/render/picking/raycaster_p.h2
-rw-r--r--src/render/qrendererplugin.cpp68
-rw-r--r--src/render/qrendererplugin_p.h86
-rw-r--r--src/render/qrendererpluginfactory.cpp102
-rw-r--r--src/render/qrendererpluginfactory_p.h79
-rw-r--r--src/render/render.pro15
-rw-r--r--src/render/renderers/opengl/renderstates/renderstates.pri7
-rw-r--r--src/render/renderers/renderers.pri7
-rw-r--r--src/render/renderstates/genericstate_p.h3
-rw-r--r--src/render/renderstates/renderstatenode_p.h2
-rw-r--r--src/render/renderstates/renderstates.cpp1
-rw-r--r--src/render/renderstates/renderstates.pri6
-rw-r--r--src/render/renderstates/renderstates_p.h44
-rw-r--r--src/render/renderstates/renderstateset.cpp (renamed from src/render/renderers/opengl/renderstates/renderstateset.cpp)3
-rw-r--r--src/render/renderstates/renderstateset_p.h (renamed from src/render/renderers/opengl/renderstates/renderstateset_p.h)2
-rw-r--r--src/render/renderstates/statevariant_p.h2
-rw-r--r--src/render/services/vsyncframeadvanceservice_p.h3
-rw-r--r--src/render/texture/qtexture.cpp2
-rw-r--r--src/render/texture/qtextureimagedata_p.h3
-rw-r--r--src/render/texture/texture.cpp2
-rw-r--r--src/render/texture/texture_p.h2
-rw-r--r--src/render/texture/texturedatamanager_p.h227
-rw-r--r--src/render/texture/textureimage_p.h2
-rw-r--r--src/src.pro11
-rw-r--r--tests/auto/render/computecommand/tst_computecommand.cpp89
-rw-r--r--tests/auto/render/effect/tst_effect.cpp1
-rw-r--r--tests/auto/render/layerfiltering/tst_layerfiltering.cpp1
-rw-r--r--tests/auto/render/opengl/computecommand/computecommand.pro15
-rw-r--r--tests/auto/render/opengl/computecommand/tst_computecommand.cpp143
-rw-r--r--tests/auto/render/opengl/filtercompatibletechniquejob/BLACKLIST (renamed from tests/auto/render/filtercompatibletechniquejob/BLACKLIST)0
-rw-r--r--tests/auto/render/opengl/filtercompatibletechniquejob/filtercompatibletechniquejob.pro (renamed from tests/auto/render/filtercompatibletechniquejob/filtercompatibletechniquejob.pro)7
-rw-r--r--tests/auto/render/opengl/filtercompatibletechniquejob/tst_filtercompatibletechniquejob.cpp (renamed from tests/auto/render/filtercompatibletechniquejob/tst_filtercompatibletechniquejob.cpp)6
-rw-r--r--tests/auto/render/opengl/glshadermanager/glshadermanager.pro (renamed from tests/auto/render/glshadermanager/glshadermanager.pro)7
-rw-r--r--tests/auto/render/opengl/glshadermanager/tst_glshadermanager.cpp (renamed from tests/auto/render/glshadermanager/tst_glshadermanager.cpp)2
-rw-r--r--tests/auto/render/opengl/graphicshelpergl2/graphicshelpergl2.pro (renamed from tests/auto/render/graphicshelpergl2/graphicshelpergl2.pro)7
-rw-r--r--tests/auto/render/opengl/graphicshelpergl2/tst_graphicshelpergl2.cpp (renamed from tests/auto/render/graphicshelpergl2/tst_graphicshelpergl2.cpp)2
-rw-r--r--tests/auto/render/opengl/graphicshelpergl3_2/graphicshelpergl3_2.pro (renamed from tests/auto/render/graphicshelpergl3_2/graphicshelpergl3_2.pro)7
-rw-r--r--tests/auto/render/opengl/graphicshelpergl3_2/tst_graphicshelpergl3_2.cpp (renamed from tests/auto/render/graphicshelpergl3_2/tst_graphicshelpergl3_2.cpp)2
-rw-r--r--tests/auto/render/opengl/graphicshelpergl3_3/graphicshelpergl3_3.pro (renamed from tests/auto/render/graphicshelpergl3_3/graphicshelpergl3_3.pro)7
-rw-r--r--tests/auto/render/opengl/graphicshelpergl3_3/tst_graphicshelpergl3_3.cpp (renamed from tests/auto/render/graphicshelpergl3_3/tst_graphicshelpergl3_3.cpp)2
-rw-r--r--tests/auto/render/opengl/graphicshelpergl4/graphicshelpergl4.pro (renamed from tests/auto/render/graphicshelpergl4/graphicshelpergl4.pro)7
-rw-r--r--tests/auto/render/opengl/graphicshelpergl4/tst_graphicshelpergl4.cpp (renamed from tests/auto/render/graphicshelpergl4/tst_graphicshelpergl4.cpp)2
-rw-r--r--tests/auto/render/opengl/materialparametergathererjob/materialparametergathererjob.pro (renamed from tests/auto/render/materialparametergathererjob/materialparametergathererjob.pro)5
-rw-r--r--tests/auto/render/opengl/materialparametergathererjob/tst_materialparametergathererjob.cpp (renamed from tests/auto/render/materialparametergathererjob/tst_materialparametergathererjob.cpp)4
-rw-r--r--tests/auto/render/opengl/opengl.pro19
-rw-r--r--tests/auto/render/opengl/opengl_render_plugin.pri12
-rw-r--r--tests/auto/render/opengl/qgraphicsutils/qgraphicsutils.pro (renamed from tests/auto/render/qgraphicsutils/qgraphicsutils.pro)3
-rw-r--r--tests/auto/render/opengl/qgraphicsutils/tst_qgraphicsutils.cpp (renamed from tests/auto/render/qgraphicsutils/tst_qgraphicsutils.cpp)2
-rw-r--r--tests/auto/render/opengl/renderer/renderer.pro (renamed from tests/auto/render/renderer/renderer.pro)3
-rw-r--r--tests/auto/render/opengl/renderer/tst_renderer.cpp (renamed from tests/auto/render/renderer/tst_renderer.cpp)9
-rw-r--r--tests/auto/render/opengl/renderqueue/renderqueue.pro (renamed from tests/auto/render/renderqueue/renderqueue.pro)5
-rw-r--r--tests/auto/render/opengl/renderqueue/tst_renderqueue.cpp (renamed from tests/auto/render/renderqueue/tst_renderqueue.cpp)4
-rw-r--r--tests/auto/render/opengl/renderviewbuilder/renderviewbuilder.pro (renamed from tests/auto/render/renderviewbuilder/renderviewbuilder.pro)7
-rw-r--r--tests/auto/render/opengl/renderviewbuilder/tst_renderviewbuilder.cpp (renamed from tests/auto/render/renderviewbuilder/tst_renderviewbuilder.cpp)2
-rw-r--r--tests/auto/render/opengl/renderviews/renderviews.pro (renamed from tests/auto/render/renderviews/renderviews.pro)7
-rw-r--r--tests/auto/render/opengl/renderviews/tst_renderviews.cpp (renamed from tests/auto/render/renderviews/tst_renderviews.cpp)10
-rw-r--r--tests/auto/render/opengl/renderviewutils/renderviewutils.pro (renamed from tests/auto/render/renderviewutils/renderviewutils.pro)7
-rw-r--r--tests/auto/render/opengl/renderviewutils/tst_renderviewutils.cpp (renamed from tests/auto/render/renderviewutils/tst_renderviewutils.cpp)3
-rw-r--r--tests/auto/render/opengl/textures/textures.pro (renamed from tests/auto/render/textures/textures.pro)7
-rw-r--r--tests/auto/render/opengl/textures/tst_textures.cpp (renamed from tests/auto/render/textures/tst_textures.cpp)6
-rw-r--r--tests/auto/render/pickboundingvolumejob/tst_pickboundingvolumejob.cpp2
-rw-r--r--tests/auto/render/proximityfiltering/tst_proximityfiltering.cpp4
-rw-r--r--tests/auto/render/qcamera/tst_qcamera.cpp1
-rw-r--r--tests/auto/render/raycastingjob/tst_raycastingjob.cpp1
-rw-r--r--tests/auto/render/render.pro18
-rw-r--r--tests/auto/render/technique/tst_technique.cpp1
-rw-r--r--tests/auto/render/trianglesextractor/tst_trianglesextractor.cpp1
-rw-r--r--tests/benchmarks/render/jobs/jobs.pro4
-rw-r--r--tests/benchmarks/render/jobs/tst_bench_jobs.cpp2
-rw-r--r--tests/benchmarks/render/materialparametergathering/materialparametergathering.pro3
-rw-r--r--tests/benchmarks/render/materialparametergathering/tst_bench_materialparametergathering.cpp2
258 files changed, 1685 insertions, 524 deletions
diff --git a/src/plugins/renderers/dummy/dummy.pro b/src/plugins/renderers/dummy/dummy.pro
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/src/plugins/renderers/dummy/dummy.pro
diff --git a/src/render/renderers/opengl/graphicshelpers/graphicscontext.cpp b/src/plugins/renderers/opengl/graphicshelpers/graphicscontext.cpp
index e971897fb..fe989ff70 100644
--- a/src/render/renderers/opengl/graphicshelpers/graphicscontext.cpp
+++ b/src/plugins/renderers/opengl/graphicshelpers/graphicscontext.cpp
@@ -45,38 +45,40 @@
#include <Qt3DRender/private/renderlogging_p.h>
#include <Qt3DRender/private/shader_p.h>
#include <Qt3DRender/private/material_p.h>
-#include <Qt3DRender/private/gltexture_p.h>
#include <Qt3DRender/private/buffer_p.h>
#include <Qt3DRender/private/attribute_p.h>
-#include <Qt3DRender/private/rendercommand_p.h>
-#include <Qt3DRender/private/renderstateset_p.h>
#include <Qt3DRender/private/rendertarget_p.h>
-#include <Qt3DRender/private/graphicshelperinterface_p.h>
-#include <Qt3DRender/private/renderer_p.h>
#include <Qt3DRender/private/nodemanagers_p.h>
#include <Qt3DRender/private/buffermanager_p.h>
#include <Qt3DRender/private/managers_p.h>
-#include <Qt3DRender/private/glresourcemanagers_p.h>
#include <Qt3DRender/private/attachmentpack_p.h>
#include <Qt3DRender/private/qbuffer_p.h>
-#include <Qt3DRender/private/renderbuffer_p.h>
-#include <Qt3DRender/private/glshader_p.h>
+#include <Qt3DRender/private/attachmentpack_p.h>
+#include <Qt3DRender/private/qbuffer_p.h>
+#include <Qt3DRender/private/renderstateset_p.h>
#include <QOpenGLShaderProgram>
+#include <glresourcemanagers_p.h>
+#include <graphicshelperinterface_p.h>
+#include <gltexture_p.h>
+#include <rendercommand_p.h>
+#include <renderer_p.h>
+#include <renderbuffer_p.h>
+#include <glshader_p.h>
#if !defined(QT_OPENGL_ES_2)
#include <QOpenGLFunctions_2_0>
#include <QOpenGLFunctions_3_2_Core>
#include <QOpenGLFunctions_3_3_Core>
#include <QOpenGLFunctions_4_3_Core>
-#include <Qt3DRender/private/graphicshelpergl2_p.h>
-#include <Qt3DRender/private/graphicshelpergl3_2_p.h>
-#include <Qt3DRender/private/graphicshelpergl3_3_p.h>
-#include <Qt3DRender/private/graphicshelpergl4_p.h>
+#include <graphicshelpergl2_p.h>
+#include <graphicshelpergl3_2_p.h>
+#include <graphicshelpergl3_3_p.h>
+#include <graphicshelpergl4_p.h>
#endif
-#include <Qt3DRender/private/graphicshelperes2_p.h>
-#include <Qt3DRender/private/graphicshelperes3_p.h>
-#include <Qt3DRender/private/graphicshelperes3_1_p.h>
-#include <Qt3DRender/private/graphicshelperes3_2_p.h>
+#include <graphicshelperes2_p.h>
+#include <graphicshelperes3_p.h>
+#include <graphicshelperes3_1_p.h>
+#include <graphicshelperes3_2_p.h>
#include <QSurface>
#include <QWindow>
diff --git a/src/render/renderers/opengl/graphicshelpers/graphicscontext_p.h b/src/plugins/renderers/opengl/graphicshelpers/graphicscontext_p.h
index d3f3615d5..07df3e9e4 100644
--- a/src/render/renderers/opengl/graphicshelpers/graphicscontext_p.h
+++ b/src/plugins/renderers/opengl/graphicshelpers/graphicscontext_p.h
@@ -60,18 +60,18 @@
#include <QMatrix4x4>
#include <QBitArray>
#include <QImage>
-#include <Qt3DRender/private/shaderparameterpack_p.h>
#include <Qt3DRender/qclearbuffers.h>
#include <Qt3DRender/private/shader_p.h>
-#include <Qt3DRender/private/glbuffer_p.h>
#include <Qt3DRender/qattribute.h>
#include <Qt3DRender/qmemorybarrier.h>
#include <Qt3DRender/private/handle_types_p.h>
#include <Qt3DRender/private/qgraphicsapifilter_p.h>
#include <Qt3DRender/private/uniform_p.h>
-#include <Qt3DRender/private/graphicshelperinterface_p.h>
#include <Qt3DRender/private/qblitframebuffer_p.h>
-#include <Qt3DRender/private/gl_handle_types_p.h>
+#include <gl_handle_types_p.h>
+#include <glbuffer_p.h>
+#include <shaderparameterpack_p.h>
+#include <graphicshelperinterface_p.h>
#include <qmath.h>
QT_BEGIN_NAMESPACE
diff --git a/src/render/renderers/opengl/graphicshelpers/graphicshelperes2.cpp b/src/plugins/renderers/opengl/graphicshelpers/graphicshelperes2.cpp
index 5f77dd376..ba00325b1 100644
--- a/src/render/renderers/opengl/graphicshelpers/graphicshelperes2.cpp
+++ b/src/plugins/renderers/opengl/graphicshelpers/graphicshelperes2.cpp
@@ -40,8 +40,8 @@
#include "graphicshelperes2_p.h"
#include <Qt3DRender/private/renderlogging_p.h>
#include <private/attachmentpack_p.h>
-#include <private/qgraphicsutils_p.h>
-#include <private/renderbuffer_p.h>
+#include <qgraphicsutils_p.h>
+#include <renderbuffer_p.h>
#include <QtGui/private/qopenglextensions_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/render/renderers/opengl/graphicshelpers/graphicshelperes2_p.h b/src/plugins/renderers/opengl/graphicshelpers/graphicshelperes2_p.h
index 882931ad9..902bd5fb2 100644
--- a/src/render/renderers/opengl/graphicshelpers/graphicshelperes2_p.h
+++ b/src/plugins/renderers/opengl/graphicshelpers/graphicshelperes2_p.h
@@ -51,7 +51,7 @@
// We mean it.
//
-#include <Qt3DRender/private/graphicshelperinterface_p.h>
+#include <graphicshelperinterface_p.h>
#include <QOpenGLContext>
#include <QOpenGLFunctions>
diff --git a/src/render/renderers/opengl/graphicshelpers/graphicshelperes3.cpp b/src/plugins/renderers/opengl/graphicshelpers/graphicshelperes3.cpp
index 5e5d2e001..6e299199f 100644
--- a/src/render/renderers/opengl/graphicshelpers/graphicshelperes3.cpp
+++ b/src/plugins/renderers/opengl/graphicshelpers/graphicshelperes3.cpp
@@ -40,7 +40,7 @@
#include "graphicshelperes3_p.h"
#include <private/attachmentpack_p.h>
-#include <private/qgraphicsutils_p.h>
+#include <qgraphicsutils_p.h>
#include <private/renderlogging_p.h>
#include <QOpenGLExtraFunctions>
diff --git a/src/render/renderers/opengl/graphicshelpers/graphicshelperes3_1.cpp b/src/plugins/renderers/opengl/graphicshelpers/graphicshelperes3_1.cpp
index 9c424d962..dc042b0c6 100644
--- a/src/render/renderers/opengl/graphicshelpers/graphicshelperes3_1.cpp
+++ b/src/plugins/renderers/opengl/graphicshelpers/graphicshelperes3_1.cpp
@@ -38,7 +38,7 @@
****************************************************************************/
#include "graphicshelperes3_1_p.h"
-#include <private/qgraphicsutils_p.h>
+#include <qgraphicsutils_p.h>
#include <QOpenGLExtraFunctions>
QT_BEGIN_NAMESPACE
diff --git a/src/render/renderers/opengl/graphicshelpers/graphicshelperes3_1_p.h b/src/plugins/renderers/opengl/graphicshelpers/graphicshelperes3_1_p.h
index 43d9ae7dd..7eab61c60 100644
--- a/src/render/renderers/opengl/graphicshelpers/graphicshelperes3_1_p.h
+++ b/src/plugins/renderers/opengl/graphicshelpers/graphicshelperes3_1_p.h
@@ -51,7 +51,7 @@
// We mean it.
//
-#include <Qt3DRender/private/graphicshelperes3_p.h>
+#include <graphicshelperes3_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/render/renderers/opengl/graphicshelpers/graphicshelperes3_2.cpp b/src/plugins/renderers/opengl/graphicshelpers/graphicshelperes3_2.cpp
index 9d0988410..9d0988410 100644
--- a/src/render/renderers/opengl/graphicshelpers/graphicshelperes3_2.cpp
+++ b/src/plugins/renderers/opengl/graphicshelpers/graphicshelperes3_2.cpp
diff --git a/src/render/renderers/opengl/graphicshelpers/graphicshelperes3_2_p.h b/src/plugins/renderers/opengl/graphicshelpers/graphicshelperes3_2_p.h
index 6b1a893d4..9552e656a 100644
--- a/src/render/renderers/opengl/graphicshelpers/graphicshelperes3_2_p.h
+++ b/src/plugins/renderers/opengl/graphicshelpers/graphicshelperes3_2_p.h
@@ -51,7 +51,7 @@
// We mean it.
//
-#include <Qt3DRender/private/graphicshelperes3_1_p.h>
+#include <graphicshelperes3_1_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/render/renderers/opengl/graphicshelpers/graphicshelperes3_p.h b/src/plugins/renderers/opengl/graphicshelpers/graphicshelperes3_p.h
index dc5cef10c..c985ba24a 100644
--- a/src/render/renderers/opengl/graphicshelpers/graphicshelperes3_p.h
+++ b/src/plugins/renderers/opengl/graphicshelpers/graphicshelperes3_p.h
@@ -52,7 +52,7 @@
// We mean it.
//
-#include <Qt3DRender/private/graphicshelperes2_p.h>
+#include <graphicshelperes2_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/render/renderers/opengl/graphicshelpers/graphicshelpergl2.cpp b/src/plugins/renderers/opengl/graphicshelpers/graphicshelpergl2.cpp
index b9ee16acb..3afc29d2f 100644
--- a/src/render/renderers/opengl/graphicshelpers/graphicshelpergl2.cpp
+++ b/src/plugins/renderers/opengl/graphicshelpers/graphicshelpergl2.cpp
@@ -42,7 +42,7 @@
#include <QOpenGLFunctions_2_0>
#include <private/attachmentpack_p.h>
#include <QtOpenGLExtensions/QOpenGLExtensions>
-#include <private/qgraphicsutils_p.h>
+#include <qgraphicsutils_p.h>
#include <Qt3DRender/private/renderlogging_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/render/renderers/opengl/graphicshelpers/graphicshelpergl2_p.h b/src/plugins/renderers/opengl/graphicshelpers/graphicshelpergl2_p.h
index eb85b8537..35391471f 100644
--- a/src/render/renderers/opengl/graphicshelpers/graphicshelpergl2_p.h
+++ b/src/plugins/renderers/opengl/graphicshelpers/graphicshelpergl2_p.h
@@ -51,7 +51,7 @@
// We mean it.
//
-#include <Qt3DRender/private/graphicshelperinterface_p.h>
+#include <graphicshelperinterface_p.h>
#ifndef QT_OPENGL_ES_2
diff --git a/src/render/renderers/opengl/graphicshelpers/graphicshelpergl3_2.cpp b/src/plugins/renderers/opengl/graphicshelpers/graphicshelpergl3_2.cpp
index f20491358..17850cf00 100644
--- a/src/render/renderers/opengl/graphicshelpers/graphicshelpergl3_2.cpp
+++ b/src/plugins/renderers/opengl/graphicshelpers/graphicshelpergl3_2.cpp
@@ -45,7 +45,7 @@
#include <QtOpenGLExtensions/qopenglextensions.h>
#include <Qt3DRender/private/renderlogging_p.h>
#include <private/attachmentpack_p.h>
-#include <private/qgraphicsutils_p.h>
+#include <qgraphicsutils_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/render/renderers/opengl/graphicshelpers/graphicshelpergl3_2_p.h b/src/plugins/renderers/opengl/graphicshelpers/graphicshelpergl3_2_p.h
index 914afc9ff..b6b2f7141 100644
--- a/src/render/renderers/opengl/graphicshelpers/graphicshelpergl3_2_p.h
+++ b/src/plugins/renderers/opengl/graphicshelpers/graphicshelpergl3_2_p.h
@@ -51,7 +51,7 @@
// We mean it.
//
-#include <Qt3DRender/private/graphicshelperinterface_p.h>
+#include <graphicshelperinterface_p.h>
#include <QtCore/qscopedpointer.h>
#ifndef QT_OPENGL_ES_2
diff --git a/src/render/renderers/opengl/graphicshelpers/graphicshelpergl3_3.cpp b/src/plugins/renderers/opengl/graphicshelpers/graphicshelpergl3_3.cpp
index ddffb38e2..3d8e2acfc 100644
--- a/src/render/renderers/opengl/graphicshelpers/graphicshelpergl3_3.cpp
+++ b/src/plugins/renderers/opengl/graphicshelpers/graphicshelpergl3_3.cpp
@@ -44,7 +44,7 @@
#include <QtOpenGLExtensions/qopenglextensions.h>
#include <Qt3DRender/private/renderlogging_p.h>
#include <private/attachmentpack_p.h>
-#include <private/qgraphicsutils_p.h>
+#include <qgraphicsutils_p.h>
# ifndef QT_OPENGL_3_2
# define GL_PATCH_VERTICES 36466
diff --git a/src/render/renderers/opengl/graphicshelpers/graphicshelpergl3_3_p.h b/src/plugins/renderers/opengl/graphicshelpers/graphicshelpergl3_3_p.h
index 4dbf6fe7b..8d8525111 100644
--- a/src/render/renderers/opengl/graphicshelpers/graphicshelpergl3_3_p.h
+++ b/src/plugins/renderers/opengl/graphicshelpers/graphicshelpergl3_3_p.h
@@ -51,7 +51,7 @@
// We mean it.
//
-#include <Qt3DRender/private/graphicshelperinterface_p.h>
+#include <graphicshelperinterface_p.h>
#include <QtCore/qscopedpointer.h>
#ifndef QT_OPENGL_ES_2
diff --git a/src/render/renderers/opengl/graphicshelpers/graphicshelpergl4.cpp b/src/plugins/renderers/opengl/graphicshelpers/graphicshelpergl4.cpp
index 60caed273..775dd7935 100644
--- a/src/render/renderers/opengl/graphicshelpers/graphicshelpergl4.cpp
+++ b/src/plugins/renderers/opengl/graphicshelpers/graphicshelpergl4.cpp
@@ -44,7 +44,7 @@
#include <QtOpenGLExtensions/qopenglextensions.h>
#include <Qt3DRender/private/renderlogging_p.h>
#include <private/attachmentpack_p.h>
-#include <private/qgraphicsutils_p.h>
+#include <qgraphicsutils_p.h>
# ifndef QT_OPENGL_4_3
# ifndef GL_PATCH_VERTICES
diff --git a/src/render/renderers/opengl/graphicshelpers/graphicshelpergl4_p.h b/src/plugins/renderers/opengl/graphicshelpers/graphicshelpergl4_p.h
index d3ce0d079..02cb7e211 100644
--- a/src/render/renderers/opengl/graphicshelpers/graphicshelpergl4_p.h
+++ b/src/plugins/renderers/opengl/graphicshelpers/graphicshelpergl4_p.h
@@ -51,7 +51,7 @@
// We mean it.
//
-#include <Qt3DRender/private/graphicshelperinterface_p.h>
+#include <graphicshelperinterface_p.h>
#include <QtCore/qscopedpointer.h>
#ifndef QT_OPENGL_ES_2
diff --git a/src/render/renderers/opengl/graphicshelpers/graphicshelperinterface_p.h b/src/plugins/renderers/opengl/graphicshelpers/graphicshelperinterface_p.h
index 21146c32b..aa2b65c66 100644
--- a/src/render/renderers/opengl/graphicshelpers/graphicshelperinterface_p.h
+++ b/src/plugins/renderers/opengl/graphicshelpers/graphicshelperinterface_p.h
@@ -54,7 +54,7 @@
#include <QOpenGLFunctions>
#include <QOpenGLTexture>
#include <QVector>
-#include <Qt3DRender/private/shadervariables_p.h>
+#include <shadervariables_p.h>
#include <Qt3DRender/private/uniform_p.h>
#include <Qt3DRender/qmemorybarrier.h>
diff --git a/src/render/renderers/opengl/graphicshelpers/graphicshelpers.pri b/src/plugins/renderers/opengl/graphicshelpers/graphicshelpers.pri
index f2f7274d7..3cfa445ce 100644
--- a/src/render/renderers/opengl/graphicshelpers/graphicshelpers.pri
+++ b/src/plugins/renderers/opengl/graphicshelpers/graphicshelpers.pri
@@ -3,7 +3,6 @@
INCLUDEPATH += $$PWD
HEADERS += \
- $$PWD/glfence_p.h \
$$PWD/graphicscontext_p.h \
$$PWD/graphicshelperinterface_p.h \
$$PWD/graphicshelperes2_p.h \
@@ -16,7 +15,8 @@ HEADERS += \
$$PWD/graphicshelpergl3_2_p.h \
$$PWD/imagesubmissioncontext_p.h \
$$PWD/submissioncontext_p.h \
- $$PWD/texturesubmissioncontext_p.h
+ $$PWD/texturesubmissioncontext_p.h \
+ $$PWD/qgraphicsutils_p.h
SOURCES += \
$$PWD/graphicscontext.cpp \
diff --git a/src/render/renderers/opengl/graphicshelpers/imagesubmissioncontext.cpp b/src/plugins/renderers/opengl/graphicshelpers/imagesubmissioncontext.cpp
index ca600f994..cd2b33fb4 100644
--- a/src/render/renderers/opengl/graphicshelpers/imagesubmissioncontext.cpp
+++ b/src/plugins/renderers/opengl/graphicshelpers/imagesubmissioncontext.cpp
@@ -38,10 +38,10 @@
****************************************************************************/
#include "imagesubmissioncontext_p.h"
-#include <Qt3DRender/private/graphicscontext_p.h>
-#include <Qt3DRender/private/gltexture_p.h>
#include <Qt3DRender/private/shaderimage_p.h>
#include <Qt3DRender/qshaderimage.h>
+#include <graphicscontext_p.h>
+#include <gltexture_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/render/renderers/opengl/graphicshelpers/imagesubmissioncontext_p.h b/src/plugins/renderers/opengl/graphicshelpers/imagesubmissioncontext_p.h
index 6d39f469b..6d39f469b 100644
--- a/src/render/renderers/opengl/graphicshelpers/imagesubmissioncontext_p.h
+++ b/src/plugins/renderers/opengl/graphicshelpers/imagesubmissioncontext_p.h
diff --git a/src/render/backend/qgraphicsutils_p.h b/src/plugins/renderers/opengl/graphicshelpers/qgraphicsutils_p.h
index 40ff99f0e..efc952ea5 100644
--- a/src/render/backend/qgraphicsutils_p.h
+++ b/src/plugins/renderers/opengl/graphicshelpers/qgraphicsutils_p.h
@@ -52,7 +52,6 @@
//
#include <Qt3DRender/qt3drender_global.h>
-#include <Qt3DRender/private/shadervariables_p.h>
#include <QMatrix2x2>
#include <QMatrix3x3>
#include <QMatrix4x4>
@@ -60,6 +59,7 @@
#include <QVector2D>
#include <QVarLengthArray>
#include <QColor>
+#include <shadervariables_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/render/renderers/opengl/graphicshelpers/submissioncontext.cpp b/src/plugins/renderers/opengl/graphicshelpers/submissioncontext.cpp
index 8afec233d..9501b0b52 100644
--- a/src/render/renderers/opengl/graphicshelpers/submissioncontext.cpp
+++ b/src/plugins/renderers/opengl/graphicshelpers/submissioncontext.cpp
@@ -45,25 +45,25 @@
#include <Qt3DRender/private/renderlogging_p.h>
#include <Qt3DRender/private/shader_p.h>
#include <Qt3DRender/private/material_p.h>
-#include <Qt3DRender/private/gltexture_p.h>
#include <Qt3DRender/private/buffer_p.h>
#include <Qt3DRender/private/attribute_p.h>
-#include <Qt3DRender/private/rendercommand_p.h>
#include <Qt3DRender/private/renderstates_p.h>
#include <Qt3DRender/private/renderstateset_p.h>
#include <Qt3DRender/private/rendertarget_p.h>
-#include <Qt3DRender/private/graphicshelperinterface_p.h>
-#include <Qt3DRender/private/renderer_p.h>
-#include <Qt3DRender/private/glresourcemanagers_p.h>
#include <Qt3DRender/private/nodemanagers_p.h>
#include <Qt3DRender/private/buffermanager_p.h>
#include <Qt3DRender/private/managers_p.h>
#include <Qt3DRender/private/attachmentpack_p.h>
#include <Qt3DRender/private/qbuffer_p.h>
-#include <Qt3DRender/private/renderbuffer_p.h>
#include <Qt3DRender/private/stringtoint_p.h>
-#include <Qt3DRender/private/glshader_p.h>
-#include <Qt3DRender/private/openglvertexarrayobject_p.h>
+#include <gltexture_p.h>
+#include <rendercommand_p.h>
+#include <graphicshelperinterface_p.h>
+#include <renderer_p.h>
+#include <glresourcemanagers_p.h>
+#include <renderbuffer_p.h>
+#include <glshader_p.h>
+#include <openglvertexarrayobject_p.h>
#include <QOpenGLShaderProgram>
#if !defined(QT_OPENGL_ES_2)
@@ -71,13 +71,13 @@
#include <QOpenGLFunctions_3_2_Core>
#include <QOpenGLFunctions_3_3_Core>
#include <QOpenGLFunctions_4_3_Core>
-#include <Qt3DRender/private/graphicshelpergl2_p.h>
-#include <Qt3DRender/private/graphicshelpergl3_2_p.h>
-#include <Qt3DRender/private/graphicshelpergl3_3_p.h>
-#include <Qt3DRender/private/graphicshelpergl4_p.h>
+#include <graphicshelpergl2_p.h>
+#include <graphicshelpergl3_2_p.h>
+#include <graphicshelpergl3_3_p.h>
+#include <graphicshelpergl4_p.h>
#endif
-#include <Qt3DRender/private/graphicshelperes2_p.h>
-#include <Qt3DRender/private/graphicshelperes3_p.h>
+#include <graphicshelperes2_p.h>
+#include <graphicshelperes3_p.h>
#include <private/qdebug_p.h>
#include <QSurface>
diff --git a/src/render/renderers/opengl/graphicshelpers/submissioncontext_p.h b/src/plugins/renderers/opengl/graphicshelpers/submissioncontext_p.h
index e7a31e6ce..16eca07ea 100644
--- a/src/render/renderers/opengl/graphicshelpers/submissioncontext_p.h
+++ b/src/plugins/renderers/opengl/graphicshelpers/submissioncontext_p.h
@@ -53,14 +53,14 @@
//
-#include <Qt3DRender/private/graphicscontext_p.h>
-#include <Qt3DRender/private/texturesubmissioncontext_p.h>
-#include <Qt3DRender/private/imagesubmissioncontext_p.h>
+#include <glbuffer_p.h>
+#include <glfence_p.h>
+#include <graphicscontext_p.h>
+#include <texturesubmissioncontext_p.h>
+#include <imagesubmissioncontext_p.h>
#include <Qt3DRender/qclearbuffers.h>
-#include <Qt3DRender/private/glbuffer_p.h>
#include <Qt3DRender/qattribute.h>
#include <Qt3DRender/private/handle_types_p.h>
-#include <Qt3DRender/private/glfence_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/render/renderers/opengl/graphicshelpers/texturesubmissioncontext.cpp b/src/plugins/renderers/opengl/graphicshelpers/texturesubmissioncontext.cpp
index 67d0f9976..4f2ff80f5 100644
--- a/src/render/renderers/opengl/graphicshelpers/texturesubmissioncontext.cpp
+++ b/src/plugins/renderers/opengl/graphicshelpers/texturesubmissioncontext.cpp
@@ -39,8 +39,8 @@
#include "texturesubmissioncontext_p.h"
-#include <Qt3DRender/private/graphicscontext_p.h>
-#include <Qt3DRender/private/gltexture_p.h>
+#include <graphicscontext_p.h>
+#include <gltexture_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/render/renderers/opengl/graphicshelpers/texturesubmissioncontext_p.h b/src/plugins/renderers/opengl/graphicshelpers/texturesubmissioncontext_p.h
index 3c84fe558..3c84fe558 100644
--- a/src/render/renderers/opengl/graphicshelpers/texturesubmissioncontext_p.h
+++ b/src/plugins/renderers/opengl/graphicshelpers/texturesubmissioncontext_p.h
diff --git a/src/render/renderers/opengl/io/glbuffer.cpp b/src/plugins/renderers/opengl/io/glbuffer.cpp
index f1b860f03..53fc50cb9 100644
--- a/src/render/renderers/opengl/io/glbuffer.cpp
+++ b/src/plugins/renderers/opengl/io/glbuffer.cpp
@@ -38,7 +38,7 @@
****************************************************************************/
#include "glbuffer_p.h"
-#include <private/graphicscontext_p.h>
+#include <graphicscontext_p.h>
#if !defined(GL_UNIFORM_BUFFER)
#define GL_UNIFORM_BUFFER 0x8A11
diff --git a/src/render/renderers/opengl/io/glbuffer_p.h b/src/plugins/renderers/opengl/io/glbuffer_p.h
index 731634b6b..731634b6b 100644
--- a/src/render/renderers/opengl/io/glbuffer_p.h
+++ b/src/plugins/renderers/opengl/io/glbuffer_p.h
diff --git a/src/render/renderers/opengl/io/io.pri b/src/plugins/renderers/opengl/io/io.pri
index 462978c4d..462978c4d 100644
--- a/src/render/renderers/opengl/io/io.pri
+++ b/src/plugins/renderers/opengl/io/io.pri
diff --git a/src/render/renderers/opengl/jobs/filtercompatibletechniquejob.cpp b/src/plugins/renderers/opengl/jobs/filtercompatibletechniquejob.cpp
index d2a01eef4..95e8862ef 100644
--- a/src/render/renderers/opengl/jobs/filtercompatibletechniquejob.cpp
+++ b/src/plugins/renderers/opengl/jobs/filtercompatibletechniquejob.cpp
@@ -40,9 +40,9 @@
#include "filtercompatibletechniquejob_p.h"
#include <Qt3DRender/private/techniquemanager_p.h>
#include <Qt3DRender/private/nodemanagers_p.h>
-#include <Qt3DRender/private/renderer_p.h>
#include <Qt3DRender/private/job_common_p.h>
-#include <Qt3DRender/private/submissioncontext_p.h>
+#include <renderer_p.h>
+#include <submissioncontext_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/render/renderers/opengl/jobs/filtercompatibletechniquejob_p.h b/src/plugins/renderers/opengl/jobs/filtercompatibletechniquejob_p.h
index 27b3d4ed2..27b3d4ed2 100644
--- a/src/render/renderers/opengl/jobs/filtercompatibletechniquejob_p.h
+++ b/src/plugins/renderers/opengl/jobs/filtercompatibletechniquejob_p.h
diff --git a/src/render/renderers/opengl/jobs/jobs.pri b/src/plugins/renderers/opengl/jobs/jobs.pri
index d80b8bfd9..d80b8bfd9 100644
--- a/src/render/renderers/opengl/jobs/jobs.pri
+++ b/src/plugins/renderers/opengl/jobs/jobs.pri
diff --git a/src/render/renderers/opengl/jobs/materialparametergathererjob.cpp b/src/plugins/renderers/opengl/jobs/materialparametergathererjob.cpp
index e1f8aa403..e1f8aa403 100644
--- a/src/render/renderers/opengl/jobs/materialparametergathererjob.cpp
+++ b/src/plugins/renderers/opengl/jobs/materialparametergathererjob.cpp
diff --git a/src/render/renderers/opengl/jobs/materialparametergathererjob_p.h b/src/plugins/renderers/opengl/jobs/materialparametergathererjob_p.h
index 6ba060841..9fe0cdfee 100644
--- a/src/render/renderers/opengl/jobs/materialparametergathererjob_p.h
+++ b/src/plugins/renderers/opengl/jobs/materialparametergathererjob_p.h
@@ -54,8 +54,8 @@
#include <Qt3DCore/qaspectjob.h>
#include <Qt3DCore/qnodeid.h>
#include <Qt3DRender/private/handle_types_p.h>
-#include <Qt3DRender/private/renderviewjobutils_p.h>
#include <Qt3DRender/private/qt3drender_global_p.h>
+#include <renderviewjobutils_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/plugins/renderers/opengl/jobs/renderviewbuilderjob.cpp b/src/plugins/renderers/opengl/jobs/renderviewbuilderjob.cpp
new file mode 100644
index 000000000..5bfa9ed6f
--- /dev/null
+++ b/src/plugins/renderers/opengl/jobs/renderviewbuilderjob.cpp
@@ -0,0 +1,82 @@
+/****************************************************************************
+**
+** Copyright (C) 2016 Paul Lemire
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the Qt3D module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "renderviewcommandupdaterjob_p.h"
+#include <Qt3DRender/private/job_common_p.h>
+#include <renderer_p.h>
+#include <renderview_p.h>
+
+QT_BEGIN_NAMESPACE
+
+namespace Qt3DRender {
+
+namespace Render {
+
+namespace {
+int renderViewInstanceCounter = 0;
+} // anonymous
+
+RenderViewCommandUpdaterJob::RenderViewCommandUpdaterJob()
+ : Qt3DCore::QAspectJob()
+ , m_offset(0)
+ , m_count(0)
+ , m_renderView(nullptr)
+ , m_renderer(nullptr)
+ , m_renderables(nullptr)
+{
+ SET_JOB_RUN_STAT_TYPE(this, JobTypes::RenderCommandUpdater, renderViewInstanceCounter++);
+}
+
+void RenderViewCommandUpdaterJob::run()
+{
+ // Build RenderCommand should perform the culling as we have no way to determine
+ // if a child has a mesh in the view frustum while its parent isn't contained in it.
+ if (!m_renderView->noDraw()) {
+ if (m_count == 0)
+ return;
+ // Update Render Commands (Uniform Change, Depth Change)
+ m_renderView->updateRenderCommand(m_renderables, m_offset, m_count);
+ }
+}
+
+} // Render
+
+} // Qt3DRender
+
+QT_END_NAMESPACE
diff --git a/src/plugins/renderers/opengl/jobs/renderviewbuilderjob_p.h b/src/plugins/renderers/opengl/jobs/renderviewbuilderjob_p.h
new file mode 100644
index 000000000..6a171d281
--- /dev/null
+++ b/src/plugins/renderers/opengl/jobs/renderviewbuilderjob_p.h
@@ -0,0 +1,96 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 Klaralvdalens Datakonsult AB (KDAB).
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the Qt3D module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QT3DRENDER_RENDER_RENDERVIEWCOMMANDBUILDERJOB_P_H
+#define QT3DRENDER_RENDER_RENDERVIEWCOMMANDBUILDERJOB_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists for the convenience
+// of other Qt classes. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include <Qt3DCore/qaspectjob.h>
+#include <Qt3DRender/private/handle_types_p.h>
+#include <rendercommand_p.h>
+
+QT_BEGIN_NAMESPACE
+
+namespace Qt3DRender {
+
+namespace Render {
+
+class Q_AUTOTEST_EXPORT RenderViewCommandBuilderJob : public Qt3DCore::QAspectJob
+{
+public:
+ RenderViewCommandBuilderJob();
+
+ inline void setRenderView(RenderView *rv) Q_DECL_NOTHROW { m_renderView = rv; }
+ inline void setEntities(const QVector<Entity *> &entities, int offset, int count)
+ {
+ m_offset = offset;
+ m_count = count;
+ m_entities = entities;
+ }
+ inline EntityRenderCommandData &commandData() { return m_commandData; }
+
+ void run() final;
+
+private:
+ int m_offset;
+ int m_count;
+ RenderView *m_renderView;
+ QVector<Entity *> m_entities;
+ EntityRenderCommandData m_commandData;
+};
+
+typedef QSharedPointer<RenderViewCommandBuilderJob> RenderViewCommandBuilderJobPtr;
+
+} // Render
+
+} // Qt3DRender
+
+QT_END_NAMESPACE
+
+#endif // QT3DRENDER_RENDER_RENDERVIEWCOMMANDBUILDERJOB_P_H
diff --git a/src/render/renderers/opengl/jobs/renderviewcommandbuilderjob.cpp b/src/plugins/renderers/opengl/jobs/renderviewcommandbuilderjob.cpp
index 091d49ef5..00cfba558 100644
--- a/src/render/renderers/opengl/jobs/renderviewcommandbuilderjob.cpp
+++ b/src/plugins/renderers/opengl/jobs/renderviewcommandbuilderjob.cpp
@@ -39,7 +39,7 @@
#include "renderviewcommandbuilderjob_p.h"
#include <Qt3DRender/private/job_common_p.h>
-#include <Qt3DRender/private/renderview_p.h>
+#include <renderview_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/render/renderers/opengl/jobs/renderviewcommandbuilderjob_p.h b/src/plugins/renderers/opengl/jobs/renderviewcommandbuilderjob_p.h
index 556c7f241..6a171d281 100644
--- a/src/render/renderers/opengl/jobs/renderviewcommandbuilderjob_p.h
+++ b/src/plugins/renderers/opengl/jobs/renderviewcommandbuilderjob_p.h
@@ -53,7 +53,7 @@
#include <Qt3DCore/qaspectjob.h>
#include <Qt3DRender/private/handle_types_p.h>
-#include <Qt3DRender/private/rendercommand_p.h>
+#include <rendercommand_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/render/renderers/opengl/jobs/renderviewcommandupdaterjob.cpp b/src/plugins/renderers/opengl/jobs/renderviewcommandupdaterjob.cpp
index 6772279d7..1b7cae229 100644
--- a/src/render/renderers/opengl/jobs/renderviewcommandupdaterjob.cpp
+++ b/src/plugins/renderers/opengl/jobs/renderviewcommandupdaterjob.cpp
@@ -39,8 +39,8 @@
#include "renderviewcommandupdaterjob_p.h"
#include <Qt3DRender/private/job_common_p.h>
-#include <Qt3DRender/private/renderer_p.h>
-#include <Qt3DRender/private/renderview_p.h>
+#include <renderer_p.h>
+#include <renderview_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/render/renderers/opengl/jobs/renderviewcommandupdaterjob_p.h b/src/plugins/renderers/opengl/jobs/renderviewcommandupdaterjob_p.h
index d7f424966..88961d848 100644
--- a/src/render/renderers/opengl/jobs/renderviewcommandupdaterjob_p.h
+++ b/src/plugins/renderers/opengl/jobs/renderviewcommandupdaterjob_p.h
@@ -53,7 +53,7 @@
#include <Qt3DCore/qaspectjob.h>
#include <Qt3DRender/private/handle_types_p.h>
-#include <Qt3DRender/private/rendercommand_p.h>
+#include <rendercommand_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/render/renderers/opengl/jobs/renderviewinitializerjob.cpp b/src/plugins/renderers/opengl/jobs/renderviewinitializerjob.cpp
index f0f72803c..c1b97959f 100644
--- a/src/render/renderers/opengl/jobs/renderviewinitializerjob.cpp
+++ b/src/plugins/renderers/opengl/jobs/renderviewinitializerjob.cpp
@@ -40,9 +40,9 @@
#include "renderviewinitializerjob_p.h"
-#include <Qt3DRender/private/renderview_p.h>
-#include <Qt3DRender/private/renderer_p.h>
-#include <Qt3DRender/private/renderviewjobutils_p.h>
+#include <renderview_p.h>
+#include <renderer_p.h>
+#include <renderviewjobutils_p.h>
#include <Qt3DRender/private/renderlogging_p.h>
#include <Qt3DRender/private/job_common_p.h>
diff --git a/src/render/renderers/opengl/jobs/renderviewinitializerjob_p.h b/src/plugins/renderers/opengl/jobs/renderviewinitializerjob_p.h
index fb4e2c67c..fb4e2c67c 100644
--- a/src/render/renderers/opengl/jobs/renderviewinitializerjob_p.h
+++ b/src/plugins/renderers/opengl/jobs/renderviewinitializerjob_p.h
diff --git a/src/render/renderers/opengl/jobs/renderviewjobutils.cpp b/src/plugins/renderers/opengl/jobs/renderviewjobutils.cpp
index 39917fb58..c454aff77 100644
--- a/src/render/renderers/opengl/jobs/renderviewjobutils.cpp
+++ b/src/plugins/renderers/opengl/jobs/renderviewjobutils.cpp
@@ -38,7 +38,7 @@
****************************************************************************/
#include "renderviewjobutils_p.h"
-#include "renderlogging_p.h"
+#include <Qt3DRender/private/renderlogging_p.h>
#include <Qt3DRender/qgraphicsapifilter.h>
#include <Qt3DRender/private/sphere_p.h>
@@ -50,13 +50,10 @@
#include <Qt3DRender/private/nodemanagers_p.h>
#include <Qt3DRender/private/effect_p.h>
#include <Qt3DRender/private/renderpassfilternode_p.h>
-#include <Qt3DRender/private/renderstateset_p.h>
#include <Qt3DRender/private/rendertargetselectornode_p.h>
-#include <Qt3DRender/private/renderview_p.h>
#include <Qt3DRender/private/sortpolicy_p.h>
#include <Qt3DRender/private/techniquefilternode_p.h>
#include <Qt3DRender/private/viewportnode_p.h>
-#include <Qt3DRender/private/shadervariables_p.h>
#include <Qt3DRender/private/managers_p.h>
#include <Qt3DRender/private/shaderdata_p.h>
#include <Qt3DRender/private/statesetnode_p.h>
@@ -69,6 +66,9 @@
#include <Qt3DRender/private/memorybarrier_p.h>
#include <Qt3DRender/private/blitframebuffer_p.h>
#include <Qt3DRender/private/waitfence_p.h>
+#include <Qt3DRender/private/renderstateset_p.h>
+#include <renderview_p.h>
+#include <shadervariables_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/render/renderers/opengl/jobs/renderviewjobutils_p.h b/src/plugins/renderers/opengl/jobs/renderviewjobutils_p.h
index b2fa59785..b2fa59785 100644
--- a/src/render/renderers/opengl/jobs/renderviewjobutils_p.h
+++ b/src/plugins/renderers/opengl/jobs/renderviewjobutils_p.h
diff --git a/src/plugins/renderers/opengl/main.cpp b/src/plugins/renderers/opengl/main.cpp
new file mode 100644
index 000000000..61e796788
--- /dev/null
+++ b/src/plugins/renderers/opengl/main.cpp
@@ -0,0 +1,59 @@
+/****************************************************************************
+**
+** Copyright (C) 2018 Klaralvdalens Datakonsult AB (KDAB).
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the Qt3D module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <Qt3DRender/private/qrendererplugin_p.h>
+#include <renderer_p.h>
+
+QT_BEGIN_NAMESPACE
+
+class OpenGLRendererPlugin : public Qt3DRender::Render::QRendererPlugin
+{
+ Q_OBJECT
+ Q_PLUGIN_METADATA(IID QRendererPluginFactoryInterface_iid FILE "openglrenderer.json")
+
+ Qt3DRender::Render::AbstractRenderer *create(const QString &key, Qt3DRender::QRenderAspect::RenderType renderMode) override
+ {
+ Q_UNUSED(key)
+ return new Qt3DRender::Render::Renderer(renderMode);
+ }
+};
+
+QT_END_NAMESPACE
+
+#include "main.moc"
diff --git a/src/render/renderers/opengl/managers/gl_handle_types_p.h b/src/plugins/renderers/opengl/managers/gl_handle_types_p.h
index eb25bab7f..eb25bab7f 100644
--- a/src/render/renderers/opengl/managers/gl_handle_types_p.h
+++ b/src/plugins/renderers/opengl/managers/gl_handle_types_p.h
diff --git a/src/render/renderers/opengl/managers/glresourcemanagers.cpp b/src/plugins/renderers/opengl/managers/glresourcemanagers.cpp
index 2b1b87925..67a7422aa 100644
--- a/src/render/renderers/opengl/managers/glresourcemanagers.cpp
+++ b/src/plugins/renderers/opengl/managers/glresourcemanagers.cpp
@@ -38,8 +38,6 @@
****************************************************************************/
#include "glresourcemanagers_p.h"
-#include <Qt3DRender/private/glbuffer_p.h>
-#include <QOpenGLVertexArrayObject>
QT_BEGIN_NAMESPACE
diff --git a/src/render/renderers/opengl/managers/glresourcemanagers_p.h b/src/plugins/renderers/opengl/managers/glresourcemanagers_p.h
index 8c4c46bca..3597e6965 100644
--- a/src/render/renderers/opengl/managers/glresourcemanagers_p.h
+++ b/src/plugins/renderers/opengl/managers/glresourcemanagers_p.h
@@ -53,11 +53,11 @@
#include <Qt3DRender/private/qt3drender_global_p.h>
#include <Qt3DCore/private/qresourcemanager_p.h>
-#include <Qt3DRender/private/gltexture_p.h>
-#include <Qt3DRender/private/glbuffer_p.h>
-#include <Qt3DRender/private/glfence_p.h>
-#include <Qt3DRender/private/openglvertexarrayobject_p.h>
-#include <Qt3DRender/private/glshader_p.h>
+#include <gltexture_p.h>
+#include <glbuffer_p.h>
+#include <glfence_p.h>
+#include <openglvertexarrayobject_p.h>
+#include <glshader_p.h>
#include <Qt3DRender/private/apishadermanager_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/render/renderers/opengl/managers/managers.pri b/src/plugins/renderers/opengl/managers/managers.pri
index 56a0732b1..97a4c2c45 100644
--- a/src/render/renderers/opengl/managers/managers.pri
+++ b/src/plugins/renderers/opengl/managers/managers.pri
@@ -3,7 +3,6 @@ INCLUDEPATH += $$PWD
HEADERS += \
$$PWD/gl_handle_types_p.h \
$$PWD/glresourcemanagers_p.h
- $$PWD/glshadermanager_p.h \
SOURCES += \
$$PWD/glresourcemanagers.cpp
diff --git a/src/render/renderers/opengl/opengl.pri b/src/plugins/renderers/opengl/opengl.pri
index c647be906..8ae4a11af 100644
--- a/src/render/renderers/opengl/opengl.pri
+++ b/src/plugins/renderers/opengl/opengl.pri
@@ -4,9 +4,13 @@ include (jobs/jobs.pri)
include (io/io.pri)
include (textures/textures.pri)
include (graphicshelpers/graphicshelpers.pri)
-include (renderstates/renderstates.pri)
include (managers/managers.pri)
+INCLUDEPATH += $$PWD
+
+# Qt3D is free of Q_FOREACH - make sure it stays that way:
+DEFINES += QT_NO_FOREACH
+
gcov {
QMAKE_CXXFLAGS += -fprofile-arcs -ftest-coverage
QMAKE_LFLAGS += -fprofile-arcs -ftest-coverage
diff --git a/src/plugins/renderers/opengl/opengl.pro b/src/plugins/renderers/opengl/opengl.pro
new file mode 100644
index 000000000..c04503ec1
--- /dev/null
+++ b/src/plugins/renderers/opengl/opengl.pro
@@ -0,0 +1,28 @@
+TARGET = openglrenderer
+QT += core-private gui-private 3dcore 3dcore-private 3drender 3drender-private
+QT_PRIVATE = openglextensions
+
+# Qt3D is free of Q_FOREACH - make sure it stays that way:
+DEFINES += QT_NO_FOREACH
+
+SOURCES += \
+ main.cpp
+
+DISTFILES += \
+ openglrenderer.json
+
+include(opengl.pri)
+
+qtConfig(qt3d-simd-avx2) {
+ CONFIG += simd
+ QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_AVX2
+}
+
+qtConfig(qt3d-simd-sse2):!qtConfig(qt3d-simd-avx2) {
+ CONFIG += simd
+ QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_SSE2
+}
+
+PLUGIN_TYPE = renderers
+PLUGIN_CLASS_NAME = OpenGLRendererPlugin
+load(qt_plugin)
diff --git a/src/plugins/renderers/opengl/openglrenderer.json b/src/plugins/renderers/opengl/openglrenderer.json
new file mode 100644
index 000000000..6cafa2ffa
--- /dev/null
+++ b/src/plugins/renderers/opengl/openglrenderer.json
@@ -0,0 +1,3 @@
+{
+ "Keys": ["opengl"]
+}
diff --git a/src/render/backend/commandexecuter.cpp b/src/plugins/renderers/opengl/renderer/commandexecuter.cpp
index 8e45fb924..6498b44b8 100644
--- a/src/render/backend/commandexecuter.cpp
+++ b/src/plugins/renderers/opengl/renderer/commandexecuter.cpp
@@ -36,19 +36,19 @@
#include "commandexecuter_p.h"
-#include <Qt3DRender/private/renderer_p.h>
#include <Qt3DCore/private/qabstractaspect_p.h>
#include <Qt3DCore/qbackendnode.h>
-#include <Qt3DRender/private/graphicscontext_p.h>
-#include <Qt3DRender/private/renderview_p.h>
-#include <Qt3DRender/private/rendercommand_p.h>
#include <Qt3DRender/private/nodemanagers_p.h>
#include <Qt3DRender/private/geometryrenderermanager_p.h>
#include <Qt3DRender/private/stringtoint_p.h>
-#include <Qt3DRender/private/submissioncontext_p.h>
#include <QJsonObject>
#include <QJsonDocument>
#include <QJsonArray>
+#include <graphicscontext_p.h>
+#include <renderview_p.h>
+#include <rendercommand_p.h>
+#include <renderer_p.h>
+#include <submissioncontext_p.h>
QT_BEGIN_NAMESPACE
@@ -349,7 +349,7 @@ void CommandExecuter::performAsynchronousCommandExecution(const QVector<Render::
for (const Render::RenderCommand &c : v->commands()) {
QJsonObject commandObj;
Render::NodeManagers *nodeManagers = m_renderer->nodeManagers();
- commandObj.insert(QLatin1String("shader"), int(c.m_shaderId.id()));
+ commandObj.insert(QLatin1String("shader"), typeToJsonValue(QVariant::fromValue(c.m_shaderId)));
commandObj.insert(QLatin1String("vao"), double(c.m_vao.handle()));
commandObj.insert(QLatin1String("instanceCount"), c.m_instanceCount);
commandObj.insert(QLatin1String("geometry"), backendNodeToJSon(c.m_geometry, nodeManagers->geometryManager()));
diff --git a/src/render/backend/commandexecuter_p.h b/src/plugins/renderers/opengl/renderer/commandexecuter_p.h
index 2d90bf4d6..2d90bf4d6 100644
--- a/src/render/backend/commandexecuter_p.h
+++ b/src/plugins/renderers/opengl/renderer/commandexecuter_p.h
diff --git a/src/render/renderers/opengl/graphicshelpers/glfence_p.h b/src/plugins/renderers/opengl/renderer/glfence_p.h
index 366065048..366065048 100644
--- a/src/render/renderers/opengl/graphicshelpers/glfence_p.h
+++ b/src/plugins/renderers/opengl/renderer/glfence_p.h
diff --git a/src/render/renderers/opengl/renderer/glshader.cpp b/src/plugins/renderers/opengl/renderer/glshader.cpp
index a6f118d65..02fa2de6d 100644
--- a/src/render/renderers/opengl/renderer/glshader.cpp
+++ b/src/plugins/renderers/opengl/renderer/glshader.cpp
@@ -39,8 +39,8 @@
#include "glshader_p.h"
#include <QMutexLocker>
-#include <Qt3DRender/private/graphicscontext_p.h>
#include <Qt3DRender/private/stringtoint_p.h>
+#include <graphicscontext_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/render/renderers/opengl/renderer/glshader_p.h b/src/plugins/renderers/opengl/renderer/glshader_p.h
index dec085291..18293ac54 100644
--- a/src/render/renderers/opengl/renderer/glshader_p.h
+++ b/src/plugins/renderers/opengl/renderer/glshader_p.h
@@ -52,8 +52,8 @@
//
-#include <Qt3DRender/private/shadervariables_p.h>
-#include <Qt3DRender/private/shaderparameterpack_p.h>
+#include <shadervariables_p.h>
+#include <shaderparameterpack_p.h>
#include <Qt3DRender/qshaderprogram.h>
#include <QMutex>
diff --git a/src/plugins/renderers/opengl/renderer/logging.cpp b/src/plugins/renderers/opengl/renderer/logging.cpp
new file mode 100644
index 000000000..ab7437eba
--- /dev/null
+++ b/src/plugins/renderers/opengl/renderer/logging.cpp
@@ -0,0 +1,65 @@
+/****************************************************************************
+**
+** Copyright (C) 2018 Klaralvdalens Datakonsult AB (KDAB).
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the Qt3D module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "logging_p.h"
+
+QT_BEGIN_NAMESPACE
+
+namespace Qt3DRender {
+
+namespace Render {
+
+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)
+Q_LOGGING_CATEGORY(Jobs, "Qt3D.Renderer.OpenGL.Jobs", QtWarningMsg)
+Q_LOGGING_CATEGORY(SceneLoaders, "Qt3D.Renderer.OpenGL.SceneLoaders", QtWarningMsg)
+Q_LOGGING_CATEGORY(Framegraph, "Qt3D.Renderer.OpenGL.Framegraph", QtWarningMsg)
+Q_LOGGING_CATEGORY(RenderNodes, "Qt3D.Renderer.OpenGL.RenderNodes", QtWarningMsg)
+Q_LOGGING_CATEGORY(Rendering, "Qt3D.Renderer.OpenGL.Rendering", QtWarningMsg)
+Q_LOGGING_CATEGORY(Memory, "Qt3D.Renderer.OpenGL.Memory", QtWarningMsg)
+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 Render
+
+} // namespace Qt3DRender
+
+QT_END_NAMESPACE
diff --git a/src/plugins/renderers/opengl/renderer/logging_p.h b/src/plugins/renderers/opengl/renderer/logging_p.h
new file mode 100644
index 000000000..8a550e22f
--- /dev/null
+++ b/src/plugins/renderers/opengl/renderer/logging_p.h
@@ -0,0 +1,81 @@
+/****************************************************************************
+**
+** Copyright (C) 2018 Klaralvdalens Datakonsult AB (KDAB).
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the Qt3D module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QT3DRENDER_RENDER_OPENGL_RENDERLOGGING_P_H
+#define QT3DRENDER_RENDER_OPENGL_RENDERLOGGING_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists for the convenience
+// of other Qt classes. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include <QLoggingCategory>
+
+QT_BEGIN_NAMESPACE
+
+namespace Qt3DRender {
+
+namespace Render {
+
+Q_DECLARE_LOGGING_CATEGORY(Backend)
+Q_DECLARE_LOGGING_CATEGORY(Frontend)
+Q_DECLARE_LOGGING_CATEGORY(Io)
+Q_DECLARE_LOGGING_CATEGORY(Jobs)
+Q_DECLARE_LOGGING_CATEGORY(SceneLoaders)
+Q_DECLARE_LOGGING_CATEGORY(Framegraph)
+Q_DECLARE_LOGGING_CATEGORY(RenderNodes)
+Q_DECLARE_LOGGING_CATEGORY(Rendering)
+Q_DECLARE_LOGGING_CATEGORY(Memory)
+Q_DECLARE_LOGGING_CATEGORY(Shaders)
+Q_DECLARE_LOGGING_CATEGORY(RenderStates)
+Q_DECLARE_LOGGING_CATEGORY(VSyncAdvanceService)
+
+} // namespace Render
+
+} // namespace Qt3DRender
+
+QT_END_NAMESPACE
+
+#endif // QT3DRENDER_RENDER_OPENGL_RENDERLOGGING_P_H
diff --git a/src/render/renderers/opengl/renderer/openglvertexarrayobject.cpp b/src/plugins/renderers/opengl/renderer/openglvertexarrayobject.cpp
index 25a850a79..19ae4fa55 100644
--- a/src/render/renderers/opengl/renderer/openglvertexarrayobject.cpp
+++ b/src/plugins/renderers/opengl/renderer/openglvertexarrayobject.cpp
@@ -38,9 +38,9 @@
****************************************************************************/
#include "openglvertexarrayobject_p.h"
-#include <Qt3DRender/private/submissioncontext_p.h>
-#include <Qt3DRender/private/renderer_p.h>
-#include <Qt3DRender/private/glresourcemanagers_p.h>
+#include <submissioncontext_p.h>
+#include <renderer_p.h>
+#include <glresourcemanagers_p.h>
#include <Qt3DRender/private/managers_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/render/renderers/opengl/renderer/openglvertexarrayobject_p.h b/src/plugins/renderers/opengl/renderer/openglvertexarrayobject_p.h
index 362c699da..d422b5b8b 100644
--- a/src/render/renderers/opengl/renderer/openglvertexarrayobject_p.h
+++ b/src/plugins/renderers/opengl/renderer/openglvertexarrayobject_p.h
@@ -52,7 +52,7 @@
//
#include <QtGui/qopenglvertexarrayobject.h>
-#include <Qt3DRender/private/submissioncontext_p.h>
+#include <submissioncontext_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/render/renderers/opengl/renderer/rendercommand.cpp b/src/plugins/renderers/opengl/renderer/rendercommand.cpp
index c6d42fde1..c6d42fde1 100644
--- a/src/render/renderers/opengl/renderer/rendercommand.cpp
+++ b/src/plugins/renderers/opengl/renderer/rendercommand.cpp
diff --git a/src/render/renderers/opengl/renderer/rendercommand_p.h b/src/plugins/renderers/opengl/renderer/rendercommand_p.h
index 44e34ecfb..600c52959 100644
--- a/src/render/renderers/opengl/renderer/rendercommand_p.h
+++ b/src/plugins/renderers/opengl/renderer/rendercommand_p.h
@@ -53,10 +53,10 @@
//
#include <qglobal.h>
-#include <Qt3DRender/private/shaderparameterpack_p.h>
+#include <shaderparameterpack_p.h>
+#include <gl_handle_types_p.h>
+#include <renderviewjobutils_p.h>
#include <Qt3DRender/private/handle_types_p.h>
-#include <Qt3DRender/private/renderviewjobutils_p.h>
-#include <Qt3DRender/private/gl_handle_types_p.h>
#include <Qt3DRender/qgeometryrenderer.h>
#include <QOpenGLShaderProgram>
#include <QOpenGLTexture>
diff --git a/src/render/renderers/opengl/renderer/renderer.cpp b/src/plugins/renderers/opengl/renderer/renderer.cpp
index 8b0b80abf..a090f7abb 100644
--- a/src/render/renderers/opengl/renderer/renderer.cpp
+++ b/src/plugins/renderers/opengl/renderer/renderer.cpp
@@ -54,21 +54,15 @@
#include <Qt3DRender/private/renderstates_p.h>
#include <Qt3DRender/private/cameraselectornode_p.h>
#include <Qt3DRender/private/framegraphvisitor_p.h>
-#include <Qt3DRender/private/graphicscontext_p.h>
#include <Qt3DRender/private/cameralens_p.h>
-#include <Qt3DRender/private/rendercommand_p.h>
#include <Qt3DRender/private/entity_p.h>
#include <Qt3DRender/private/renderlogging_p.h>
#include <Qt3DRender/private/material_p.h>
#include <Qt3DRender/private/renderpassfilternode_p.h>
-#include <Qt3DRender/private/renderqueue_p.h>
#include <Qt3DRender/private/shader_p.h>
#include <Qt3DRender/private/buffer_p.h>
-#include <Qt3DRender/private/glbuffer_p.h>
-#include <Qt3DRender/private/renderstateset_p.h>
#include <Qt3DRender/private/technique_p.h>
#include <Qt3DRender/private/renderthread_p.h>
-#include <Qt3DRender/private/renderview_p.h>
#include <Qt3DRender/private/scenemanager_p.h>
#include <Qt3DRender/private/techniquefilternode_p.h>
#include <Qt3DRender/private/viewportnode_p.h>
@@ -77,26 +71,18 @@
#include <Qt3DRender/private/managers_p.h>
#include <Qt3DRender/private/buffermanager_p.h>
#include <Qt3DRender/private/nodemanagers_p.h>
-#include <Qt3DRender/private/gltexture_p.h>
#include <Qt3DRender/private/geometryrenderermanager_p.h>
#include <Qt3DRender/private/techniquemanager_p.h>
-#include <Qt3DRender/private/openglvertexarrayobject_p.h>
#include <Qt3DRender/private/platformsurfacefilter_p.h>
#include <Qt3DRender/private/loadbufferjob_p.h>
#include <Qt3DRender/private/rendercapture_p.h>
#include <Qt3DRender/private/updatelevelofdetailjob_p.h>
#include <Qt3DRender/private/buffercapture_p.h>
#include <Qt3DRender/private/offscreensurfacehelper_p.h>
-#include <Qt3DRender/private/renderviewbuilder_p.h>
-#include <Qt3DRender/private/setfence_p.h>
#include <Qt3DRender/private/subtreeenabler_p.h>
#include <Qt3DRender/private/qshaderprogrambuilder_p.h>
#include <Qt3DRender/private/qshaderprogram_p.h>
#include <Qt3DRender/private/filterentitybycomponentjob_p.h>
-#include <Qt3DRender/private/commandexecuter_p.h>
-
-#include <Qt3DRender/private/glresourcemanagers_p.h>
-#include <Qt3DRender/private/resourceaccessor_p.h>
#include <Qt3DRender/qcameralens.h>
#include <Qt3DCore/private/qeventfilterservice_p.h>
@@ -104,6 +90,21 @@
#include <Qt3DCore/private/qaspectmanager_p.h>
#include <Qt3DCore/private/qsysteminformationservice_p.h>
#include <Qt3DCore/private/qsysteminformationservice_p_p.h>
+#include <Qt3DRender/private/resourceaccessor_p.h>
+#include <Qt3DRender/private/renderlogging_p.h>
+#include <Qt3DRender/private/renderstateset_p.h>
+#include <Qt3DRender/private/setfence_p.h>
+
+#include <glbuffer_p.h>
+#include <graphicscontext_p.h>
+#include <rendercommand_p.h>
+#include <renderqueue_p.h>
+#include <renderview_p.h>
+#include <gltexture_p.h>
+#include <openglvertexarrayobject_p.h>
+#include <renderviewbuilder_p.h>
+#include <glresourcemanagers_p.h>
+#include <commandexecuter_p.h>
#include <QStack>
#include <QOffscreenSurface>
diff --git a/src/render/renderers/opengl/renderer/renderer.pri b/src/plugins/renderers/opengl/renderer/renderer.pri
index 3e2f9fde9..0f68aa481 100644
--- a/src/render/renderers/opengl/renderer/renderer.pri
+++ b/src/plugins/renderers/opengl/renderer/renderer.pri
@@ -8,7 +8,9 @@ SOURCES += \
$$PWD/renderview.cpp \
$$PWD/renderviewbuilder.cpp \
$$PWD/shaderparameterpack.cpp \
- $$PWD/glshader.cpp
+ $$PWD/glshader.cpp \
+ $$PWD/logging.cpp \
+ $$PWD/commandexecuter.cpp
HEADERS += \
$$PWD/openglvertexarrayobject_p.h \
@@ -20,5 +22,7 @@ HEADERS += \
$$PWD/renderviewbuilder_p.h \
$$PWD/shaderparameterpack_p.h \
$$PWD/shadervariables_p.h \
- $$PWD/glshader_p.h
-
+ $$PWD/glshader_p.h \
+ $$PWD/glfence_p.h \
+ $$PWD/logging_p.h \
+ $$PWD/commandexecuter_p.h
diff --git a/src/render/renderers/opengl/renderer/renderer_p.h b/src/plugins/renderers/opengl/renderer/renderer_p.h
index b9372dce9..eac622192 100644
--- a/src/render/renderers/opengl/renderer/renderer_p.h
+++ b/src/plugins/renderers/opengl/renderer/renderer_p.h
@@ -54,16 +54,13 @@
#include <Qt3DRender/qrenderaspect.h>
#include <Qt3DRender/qtechnique.h>
-#include <Qt3DRender/private/shaderparameterpack_p.h>
#include <Qt3DRender/private/handle_types_p.h>
-#include <Qt3DRender/private/gl_handle_types_p.h>
#include <Qt3DRender/private/abstractrenderer_p.h>
#include <Qt3DCore/qaspectjob.h>
#include <Qt3DRender/private/qt3drender_global_p.h>
#include <Qt3DRender/private/pickboundingvolumejob_p.h>
#include <Qt3DRender/private/raycastingjob_p.h>
#include <Qt3DRender/private/rendersettings_p.h>
-#include <Qt3DRender/private/renderviewinitializerjob_p.h>
#include <Qt3DRender/private/expandboundingvolumejob_p.h>
#include <Qt3DRender/private/updateworldtransformjob_p.h>
#include <Qt3DRender/private/calcboundingvolumejob_p.h>
@@ -75,14 +72,19 @@
#include <Qt3DRender/private/sendbuffercapturejob_p.h>
#include <Qt3DRender/private/genericlambdajob_p.h>
#include <Qt3DRender/private/updatemeshtrianglelistjob_p.h>
-#include <Qt3DRender/private/filtercompatibletechniquejob_p.h>
#include <Qt3DRender/private/updateskinningpalettejob_p.h>
#include <Qt3DRender/private/updateentitylayersjob_p.h>
-#include <Qt3DRender/private/renderercache_p.h>
-#include <Qt3DRender/private/texture_p.h>
-#include <Qt3DRender/private/glfence_p.h>
#include <Qt3DRender/private/shaderbuilder_p.h>
#include <Qt3DRender/private/lightgatherer_p.h>
+#include <Qt3DRender/private/texture_p.h>
+#include <shaderparameterpack_p.h>
+#include <renderviewinitializerjob_p.h>
+#include <filtercompatibletechniquejob_p.h>
+#include <renderercache_p.h>
+#include <logging_p.h>
+#include <gl_handle_types_p.h>
+#include <glfence_p.h>
+#include <renderercache_p.h>
#include <QHash>
#include <QMatrix4x4>
diff --git a/src/render/renderers/opengl/renderer/renderercache_p.h b/src/plugins/renderers/opengl/renderer/renderercache_p.h
index 02fe4ff41..70a5ef43c 100644
--- a/src/render/renderers/opengl/renderer/renderercache_p.h
+++ b/src/plugins/renderers/opengl/renderer/renderercache_p.h
@@ -54,9 +54,9 @@
#include <Qt3DRender/QFrameGraphNode>
#include <Qt3DRender/private/entity_p.h>
-#include <Qt3DRender/private/renderviewjobutils_p.h>
+#include <renderviewjobutils_p.h>
#include <Qt3DRender/private/lightsource_p.h>
-#include <Qt3DRender/private/rendercommand_p.h>
+#include <rendercommand_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/render/renderers/opengl/renderer/renderqueue.cpp b/src/plugins/renderers/opengl/renderer/renderqueue.cpp
index bd9d3ee59..9ba66952f 100644
--- a/src/render/renderers/opengl/renderer/renderqueue.cpp
+++ b/src/plugins/renderers/opengl/renderer/renderqueue.cpp
@@ -38,7 +38,7 @@
****************************************************************************/
#include "renderqueue_p.h"
-#include <Qt3DRender/private/renderview_p.h>
+#include <renderview_p.h>
#include <QThread>
QT_BEGIN_NAMESPACE
diff --git a/src/render/renderers/opengl/renderer/renderqueue_p.h b/src/plugins/renderers/opengl/renderer/renderqueue_p.h
index e565115f2..e565115f2 100644
--- a/src/render/renderers/opengl/renderer/renderqueue_p.h
+++ b/src/plugins/renderers/opengl/renderer/renderqueue_p.h
diff --git a/src/render/renderers/opengl/renderer/renderview.cpp b/src/plugins/renderers/opengl/renderer/renderview.cpp
index d77eb3f07..bd4c98a01 100644
--- a/src/render/renderers/opengl/renderer/renderview.cpp
+++ b/src/plugins/renderers/opengl/renderer/renderview.cpp
@@ -50,17 +50,14 @@
#include <Qt3DRender/private/layerfilternode_p.h>
#include <Qt3DRender/private/qparameter_p.h>
#include <Qt3DRender/private/cameralens_p.h>
-#include <Qt3DRender/private/rendercommand_p.h>
#include <Qt3DRender/private/effect_p.h>
#include <Qt3DRender/private/entity_p.h>
-#include <Qt3DRender/private/renderer_p.h>
#include <Qt3DRender/private/nodemanagers_p.h>
#include <Qt3DRender/private/layer_p.h>
#include <Qt3DRender/private/renderlogging_p.h>
#include <Qt3DRender/private/renderpassfilternode_p.h>
#include <Qt3DRender/private/renderpass_p.h>
#include <Qt3DRender/private/geometryrenderer_p.h>
-#include <Qt3DRender/private/renderstateset_p.h>
#include <Qt3DRender/private/techniquefilternode_p.h>
#include <Qt3DRender/private/viewportnode_p.h>
#include <Qt3DRender/private/buffermanager_p.h>
@@ -68,8 +65,13 @@
#include <Qt3DRender/private/rendercapture_p.h>
#include <Qt3DRender/private/buffercapture_p.h>
#include <Qt3DRender/private/stringtoint_p.h>
-#include <Qt3DRender/private/submissioncontext_p.h>
-#include <Qt3DRender/private/glresourcemanagers_p.h>
+#include <Qt3DRender/private/renderlogging_p.h>
+#include <Qt3DRender/private/renderstateset_p.h>
+#include <rendercommand_p.h>
+#include <renderer_p.h>
+#include <graphicscontext_p.h>
+#include <submissioncontext_p.h>
+#include <glresourcemanagers_p.h>
#include <Qt3DCore/qentity.h>
#include <QtGui/qsurface.h>
#include <algorithm>
diff --git a/src/render/renderers/opengl/renderer/renderview_p.h b/src/plugins/renderers/opengl/renderer/renderview_p.h
index 5741a88a5..c12ee627a 100644
--- a/src/render/renderers/opengl/renderer/renderview_p.h
+++ b/src/plugins/renderers/opengl/renderer/renderview_p.h
@@ -55,7 +55,6 @@
#include <Qt3DRender/qparameter.h>
#include <Qt3DRender/qclearbuffers.h>
#include <Qt3DRender/qlayerfilter.h>
-#include <Qt3DRender/private/renderer_p.h>
#include <Qt3DRender/private/clearbuffers_p.h>
#include <Qt3DRender/private/cameralens_p.h>
#include <Qt3DRender/private/attachmentpack_p.h>
@@ -70,8 +69,9 @@
#include <Qt3DCore/private/qframeallocator_p.h>
#include <Qt3DRender/private/aligned_malloc_p.h>
+#include <renderer_p.h>
// TODO: Move out once this is all refactored
-#include <Qt3DRender/private/renderviewjobutils_p.h>
+#include <renderviewjobutils_p.h>
#include <QVector>
#include <QSurface>
@@ -98,19 +98,6 @@ class RenderPass;
typedef QPair<ShaderUniform, QVariant> ActivePropertyContent;
typedef QPair<QString, ActivePropertyContent > ActiveProperty;
-struct Q_AUTOTEST_EXPORT Plane
-{
- explicit Plane(const Vector4D &planeEquation)
- : planeEquation(planeEquation)
- , normal(Vector3D(planeEquation).normalized())
- , d(planeEquation.w() / Vector3D(planeEquation).length())
- {}
-
- const Vector4D planeEquation;
- const Vector3D normal;
- const float d;
-};
-
struct Q_AUTOTEST_EXPORT ClearBufferInfo
{
int drawBufferIndex = 0;
diff --git a/src/render/renderers/opengl/renderer/renderviewbuilder.cpp b/src/plugins/renderers/opengl/renderer/renderviewbuilder.cpp
index 8f1b17119..8f1b17119 100644
--- a/src/render/renderers/opengl/renderer/renderviewbuilder.cpp
+++ b/src/plugins/renderers/opengl/renderer/renderviewbuilder.cpp
diff --git a/src/render/renderers/opengl/renderer/renderviewbuilder_p.h b/src/plugins/renderers/opengl/renderer/renderviewbuilder_p.h
index a2ab80e7e..71719abee 100644
--- a/src/render/renderers/opengl/renderer/renderviewbuilder_p.h
+++ b/src/plugins/renderers/opengl/renderer/renderviewbuilder_p.h
@@ -55,13 +55,14 @@
#include <Qt3DCore/qaspectjob.h>
#include <Qt3DRender/private/filterlayerentityjob_p.h>
#include <Qt3DRender/private/genericlambdajob_p.h>
-#include <Qt3DRender/private/materialparametergathererjob_p.h>
#include <Qt3DRender/private/nodemanagers_p.h>
-#include <Qt3DRender/private/renderviewcommandbuilderjob_p.h>
-#include <Qt3DRender/private/renderviewcommandupdaterjob_p.h>
-#include <Qt3DRender/private/renderview_p.h>
#include <Qt3DRender/private/frustumcullingjob_p.h>
#include <Qt3DRender/private/filterproximitydistancejob_p.h>
+#include <renderviewcommandbuilderjob_p.h>
+#include <renderviewcommandupdaterjob_p.h>
+#include <materialparametergathererjob_p.h>
+#include <renderviewbuilderjob_p.h>
+#include <renderview_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/render/renderers/opengl/renderer/shaderparameterpack.cpp b/src/plugins/renderers/opengl/renderer/shaderparameterpack.cpp
index 1cfb59343..e3cc7baf7 100644
--- a/src/render/renderers/opengl/renderer/shaderparameterpack.cpp
+++ b/src/plugins/renderers/opengl/renderer/shaderparameterpack.cpp
@@ -39,7 +39,7 @@
#include "shaderparameterpack_p.h"
-#include <Qt3DRender/private/graphicscontext_p.h>
+#include <graphicscontext_p.h>
#include <Qt3DRender/private/texture_p.h>
#include <Qt3DCore/private/qframeallocator_p.h>
diff --git a/src/render/renderers/opengl/renderer/shaderparameterpack_p.h b/src/plugins/renderers/opengl/renderer/shaderparameterpack_p.h
index cb599124c..045081afd 100644
--- a/src/render/renderers/opengl/renderer/shaderparameterpack_p.h
+++ b/src/plugins/renderers/opengl/renderer/shaderparameterpack_p.h
@@ -57,8 +57,8 @@
#include <QOpenGLShaderProgram>
#include <Qt3DCore/qnodeid.h>
#include <Qt3DRender/private/renderlogging_p.h>
-#include <Qt3DRender/private/shadervariables_p.h>
#include <Qt3DRender/private/uniform_p.h>
+#include <shadervariables_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/render/renderers/opengl/renderer/shadervariables_p.h b/src/plugins/renderers/opengl/renderer/shadervariables_p.h
index e0fa07dff..e0fa07dff 100644
--- a/src/render/renderers/opengl/renderer/shadervariables_p.h
+++ b/src/plugins/renderers/opengl/renderer/shadervariables_p.h
diff --git a/src/render/renderers/opengl/textures/gltexture.cpp b/src/plugins/renderers/opengl/textures/gltexture.cpp
index 20e6007a0..c79961d78 100644
--- a/src/render/renderers/opengl/textures/gltexture.cpp
+++ b/src/plugins/renderers/opengl/textures/gltexture.cpp
@@ -52,8 +52,8 @@
#include <Qt3DRender/qtextureimagedata.h>
#include <Qt3DRender/private/managers_p.h>
#include <Qt3DRender/private/qabstracttexture_p.h>
-#include <Qt3DRender/private/renderbuffer_p.h>
#include <Qt3DRender/private/qtextureimagedata_p.h>
+#include <renderbuffer_p.h>
#if !defined(QT_OPENGL_ES_2)
#include <QOpenGLFunctions_3_1>
diff --git a/src/render/renderers/opengl/textures/gltexture_p.h b/src/plugins/renderers/opengl/textures/gltexture_p.h
index ca851712d..ca851712d 100644
--- a/src/render/renderers/opengl/textures/gltexture_p.h
+++ b/src/plugins/renderers/opengl/textures/gltexture_p.h
diff --git a/src/render/renderers/opengl/textures/renderbuffer.cpp b/src/plugins/renderers/opengl/textures/renderbuffer.cpp
index bc5050f73..bc5050f73 100644
--- a/src/render/renderers/opengl/textures/renderbuffer.cpp
+++ b/src/plugins/renderers/opengl/textures/renderbuffer.cpp
diff --git a/src/render/renderers/opengl/textures/renderbuffer_p.h b/src/plugins/renderers/opengl/textures/renderbuffer_p.h
index 7dc62492a..7dc62492a 100644
--- a/src/render/renderers/opengl/textures/renderbuffer_p.h
+++ b/src/plugins/renderers/opengl/textures/renderbuffer_p.h
diff --git a/src/render/renderers/opengl/textures/textures.pri b/src/plugins/renderers/opengl/textures/textures.pri
index e17abfbb3..e17abfbb3 100644
--- a/src/render/renderers/opengl/textures/textures.pri
+++ b/src/plugins/renderers/opengl/textures/textures.pri
diff --git a/src/plugins/renderers/renderers.pro b/src/plugins/renderers/renderers.pro
new file mode 100644
index 000000000..dc58bf7fc
--- /dev/null
+++ b/src/plugins/renderers/renderers.pro
@@ -0,0 +1,9 @@
+TEMPLATE = subdirs
+
+# OpenGL renderer
+include($$OUT_PWD/../../render/qt3drender-config.pri)
+QT_FOR_CONFIG += 3drender-private
+
+#SUBDIRS += dummy
+
+qtConfig(qt3d-opengl-renderer): SUBDIRS += opengl
diff --git a/src/quick3d/quick3dscene2d/items/scene2d.cpp b/src/quick3d/quick3dscene2d/items/scene2d.cpp
index a2247705e..063464b95 100644
--- a/src/quick3d/quick3dscene2d/items/scene2d.cpp
+++ b/src/quick3d/quick3dscene2d/items/scene2d.cpp
@@ -45,12 +45,12 @@
#include <QtCore/qthread.h>
#include <QtCore/qatomic.h>
#include <QtGui/qevent.h>
+#include <QtGui/QOpenGLFunctions>
#include <private/qscene2d_p.h>
#include <private/scene2d_p.h>
#include <private/scene2dmanager_p.h>
#include <private/scene2devent_p.h>
-#include <private/graphicscontext_p.h>
#include <private/texture_p.h>
#include <private/nodemanagers_p.h>
#include <private/resourceaccessor_p.h>
diff --git a/src/render/backend/apishadermanager_p.h b/src/render/backend/apishadermanager_p.h
index ec17b2196..9ebf49710 100644
--- a/src/render/backend/apishadermanager_p.h
+++ b/src/render/backend/apishadermanager_p.h
@@ -169,7 +169,7 @@ public:
return std::move(m_updatedShaders);
}
- QVector<Qt3DCore::QNodeId> shaderIdsForProgram(GLShader *glShader) const
+ QVector<Qt3DCore::QNodeId> shaderIdsForProgram(APIShader *glShader) const
{
QReadLocker lock(&m_readWriteLock);
return m_apiShaders.value(glShader);
diff --git a/src/render/backend/attachmentpack_p.h b/src/render/backend/attachmentpack_p.h
index a3a2586dd..32ea774b6 100644
--- a/src/render/backend/attachmentpack_p.h
+++ b/src/render/backend/attachmentpack_p.h
@@ -52,6 +52,7 @@
//
#include <Qt3DRender/qrendertargetoutput.h>
+#include <Qt3DRender/private/qt3drender_global_p.h>
#include <QVector>
QT_BEGIN_NAMESPACE
@@ -59,7 +60,7 @@ QT_BEGIN_NAMESPACE
namespace Qt3DRender {
namespace Render {
-struct Attachment
+struct Q_3DRENDERSHARED_PRIVATE_EXPORT Attachment
{
Attachment()
: m_mipLevel(0)
@@ -80,7 +81,7 @@ class RenderTarget;
class RenderTargetSelector;
class AttachmentManager;
-class AttachmentPack
+class Q_3DRENDERSHARED_PRIVATE_EXPORT AttachmentPack
{
public:
AttachmentPack();
diff --git a/src/render/backend/backendnode.cpp b/src/render/backend/backendnode.cpp
index f85ece1b9..18e7af256 100644
--- a/src/render/backend/backendnode.cpp
+++ b/src/render/backend/backendnode.cpp
@@ -38,10 +38,11 @@
****************************************************************************/
#include <private/backendnode_p.h>
-#include <private/renderer_p.h>
+#include <private/abstractrenderer_p.h>
#include <private/resourceaccessor_p.h>
#include <private/nodemanagers_p.h>
#include <Qt3DCore/private/qbackendnode_p.h>
+#include <Qt3DCore/qnode.h>
QT_BEGIN_NAMESPACE
diff --git a/src/render/backend/cameralens.cpp b/src/render/backend/cameralens.cpp
index e1d72efda..ab74e8b56 100644
--- a/src/render/backend/cameralens.cpp
+++ b/src/render/backend/cameralens.cpp
@@ -39,10 +39,11 @@
#include "cameralens_p.h"
#include <Qt3DRender/qcameralens.h>
+#include <Qt3DRender/qrenderaspect.h>
#include <Qt3DRender/private/nodemanagers_p.h>
#include <Qt3DRender/private/managers_p.h>
#include <Qt3DRender/private/renderlogging_p.h>
-#include <Qt3DRender/private/renderer_p.h>
+#include <Qt3DRender/private/abstractrenderer_p.h>
#include <Qt3DRender/private/entity_p.h>
#include <Qt3DRender/private/sphere_p.h>
#include <Qt3DRender/private/computefilteredboundingvolumejob_p.h>
diff --git a/src/render/backend/computecommand_p.h b/src/render/backend/computecommand_p.h
index 5012930ae..00e238474 100644
--- a/src/render/backend/computecommand_p.h
+++ b/src/render/backend/computecommand_p.h
@@ -62,7 +62,7 @@ namespace Render {
class ComputeJobPrivate;
-class Q_AUTOTEST_EXPORT ComputeCommand : public BackendNode
+class Q_3DRENDERSHARED_PRIVATE_EXPORT ComputeCommand : public BackendNode
{
public:
ComputeCommand();
diff --git a/src/render/backend/entity_p.h b/src/render/backend/entity_p.h
index d13d96784..8ac10454e 100644
--- a/src/render/backend/entity_p.h
+++ b/src/render/backend/entity_p.h
@@ -53,7 +53,7 @@
//
#include <Qt3DRender/private/backendnode_p.h>
-#include <Qt3DRender/private/renderer_p.h>
+#include <Qt3DRender/private/abstractrenderer_p.h>
#include <Qt3DRender/private/handle_types_p.h>
#include <Qt3DCore/qnodecreatedchange.h>
#include <Qt3DCore/private/qentity_p.h>
@@ -81,7 +81,7 @@ class Renderer;
class NodeManagers;
class EntityPrivate;
-class Q_AUTOTEST_EXPORT Entity : public BackendNode
+class Q_3DRENDERSHARED_PRIVATE_EXPORT Entity : public BackendNode
{
public:
Entity();
diff --git a/src/render/backend/levelofdetail_p.h b/src/render/backend/levelofdetail_p.h
index 8399e19b7..b559b3114 100644
--- a/src/render/backend/levelofdetail_p.h
+++ b/src/render/backend/levelofdetail_p.h
@@ -67,7 +67,7 @@ namespace Render {
class LevelOfDetailManager;
-class Q_AUTOTEST_EXPORT LevelOfDetail : public BackendNode
+class Q_3DRENDERSHARED_PRIVATE_EXPORT LevelOfDetail : public BackendNode
{
public:
LevelOfDetail();
diff --git a/src/render/backend/managers_p.h b/src/render/backend/managers_p.h
index 24b161b6e..db12a8a7b 100644
--- a/src/render/backend/managers_p.h
+++ b/src/render/backend/managers_p.h
@@ -91,7 +91,7 @@ namespace Qt3DRender {
namespace Render {
-class AttachmentManager : public Qt3DCore::QResourceManager<
+class Q_3DRENDERSHARED_PRIVATE_EXPORT AttachmentManager : public Qt3DCore::QResourceManager<
RenderTargetOutput,
Qt3DCore::QNodeId,
Qt3DCore::NonLockingPolicy>
@@ -100,7 +100,7 @@ public:
AttachmentManager() {}
};
-class CameraManager : public Qt3DCore::QResourceManager<
+class Q_3DRENDERSHARED_PRIVATE_EXPORT CameraManager : public Qt3DCore::QResourceManager<
CameraLens,
Qt3DCore::QNodeId,
Qt3DCore::NonLockingPolicy>
@@ -109,7 +109,7 @@ public:
CameraManager() {}
};
-class FilterKeyManager : public Qt3DCore::QResourceManager<
+class Q_3DRENDERSHARED_PRIVATE_EXPORT FilterKeyManager : public Qt3DCore::QResourceManager<
FilterKey,
Qt3DCore::QNodeId,
Qt3DCore::NonLockingPolicy>
@@ -119,7 +119,7 @@ public:
FilterKeyManager() {}
};
-class EffectManager : public Qt3DCore::QResourceManager<
+class Q_3DRENDERSHARED_PRIVATE_EXPORT EffectManager : public Qt3DCore::QResourceManager<
Effect,
Qt3DCore::QNodeId,
Qt3DCore::NonLockingPolicy>
@@ -128,7 +128,7 @@ public:
EffectManager() {}
};
-class Q_AUTOTEST_EXPORT EntityManager : public Qt3DCore::QResourceManager<
+class Q_3DRENDERSHARED_PRIVATE_EXPORT EntityManager : public Qt3DCore::QResourceManager<
Entity,
Qt3DCore::QNodeId,
Qt3DCore::NonLockingPolicy>
@@ -146,7 +146,7 @@ public:
class FrameGraphNode;
-class Q_AUTOTEST_EXPORT FrameGraphManager
+class Q_3DRENDERSHARED_PRIVATE_EXPORT FrameGraphManager
{
public:
FrameGraphManager() {}
@@ -161,7 +161,7 @@ private:
QHash<Qt3DCore::QNodeId, FrameGraphNode*> m_nodes;
};
-class LayerManager : public Qt3DCore::QResourceManager<
+class Q_3DRENDERSHARED_PRIVATE_EXPORT LayerManager : public Qt3DCore::QResourceManager<
Layer,
Qt3DCore::QNodeId,
Qt3DCore::NonLockingPolicy>
@@ -170,7 +170,7 @@ public:
LayerManager() {}
};
-class LevelOfDetailManager : public Qt3DCore::QResourceManager<
+class Q_3DRENDERSHARED_PRIVATE_EXPORT LevelOfDetailManager : public Qt3DCore::QResourceManager<
LevelOfDetail,
Qt3DCore::QNodeId,
Qt3DCore::NonLockingPolicy>
@@ -179,7 +179,7 @@ public:
LevelOfDetailManager() {}
};
-class MaterialManager : public Qt3DCore::QResourceManager<
+class Q_3DRENDERSHARED_PRIVATE_EXPORT MaterialManager : public Qt3DCore::QResourceManager<
Material,
Qt3DCore::QNodeId,
Qt3DCore::NonLockingPolicy>
@@ -188,7 +188,7 @@ public:
MaterialManager() {}
};
-class MatrixManager : public Qt3DCore::QResourceManager<
+class Q_3DRENDERSHARED_PRIVATE_EXPORT MatrixManager : public Qt3DCore::QResourceManager<
Matrix4x4,
Qt3DCore::QNodeId,
Qt3DCore::NonLockingPolicy>
@@ -197,7 +197,7 @@ public:
MatrixManager() {}
};
-class ShaderManager : public Qt3DCore::QResourceManager<
+class Q_3DRENDERSHARED_PRIVATE_EXPORT ShaderManager : public Qt3DCore::QResourceManager<
Shader,
Qt3DCore::QNodeId,
Qt3DCore::NonLockingPolicy>
@@ -221,7 +221,7 @@ private:
QVector<Qt3DCore::QNodeId> m_shaderIdsToCleanup;
};
-class ShaderBuilderManager : public Qt3DCore::QResourceManager<
+class Q_3DRENDERSHARED_PRIVATE_EXPORT ShaderBuilderManager : public Qt3DCore::QResourceManager<
ShaderBuilder,
Qt3DCore::QNodeId,
Qt3DCore::NonLockingPolicy>
@@ -230,7 +230,7 @@ public:
ShaderBuilderManager() {}
};
-class TextureManager : public Qt3DCore::QResourceManager<
+class Q_3DRENDERSHARED_PRIVATE_EXPORT TextureManager : public Qt3DCore::QResourceManager<
Texture,
Qt3DCore::QNodeId,
Qt3DCore::NonLockingPolicy>
@@ -269,7 +269,7 @@ private:
QVector<Qt3DCore::QNodeId> m_textureIdsToCleanup;
};
-class TransformManager : public Qt3DCore::QResourceManager<
+class Q_3DRENDERSHARED_PRIVATE_EXPORT TransformManager : public Qt3DCore::QResourceManager<
Transform,
Qt3DCore::QNodeId,
Qt3DCore::NonLockingPolicy>
@@ -278,7 +278,7 @@ public:
TransformManager() {}
};
-class RenderTargetManager : public Qt3DCore::QResourceManager<
+class Q_3DRENDERSHARED_PRIVATE_EXPORT RenderTargetManager : public Qt3DCore::QResourceManager<
RenderTarget,
Qt3DCore::QNodeId,
Qt3DCore::NonLockingPolicy>
@@ -287,7 +287,7 @@ public:
RenderTargetManager() {}
};
-class RenderPassManager : public Qt3DCore::QResourceManager<
+class Q_3DRENDERSHARED_PRIVATE_EXPORT RenderPassManager : public Qt3DCore::QResourceManager<
RenderPass,
Qt3DCore::QNodeId,
Qt3DCore::NonLockingPolicy>
@@ -297,7 +297,7 @@ public:
};
-class ParameterManager : public Qt3DCore::QResourceManager<
+class Q_3DRENDERSHARED_PRIVATE_EXPORT ParameterManager : public Qt3DCore::QResourceManager<
Parameter,
Qt3DCore::QNodeId,
Qt3DCore::NonLockingPolicy>
@@ -306,7 +306,7 @@ public:
ParameterManager() {}
};
-class ShaderImageManager : public Qt3DCore::QResourceManager<
+class Q_3DRENDERSHARED_PRIVATE_EXPORT ShaderImageManager : public Qt3DCore::QResourceManager<
ShaderImage,
Qt3DCore::QNodeId,
Qt3DCore::NonLockingPolicy>
@@ -315,7 +315,7 @@ public:
ShaderImageManager() {}
};
-class ShaderDataManager : public Qt3DCore::QResourceManager<
+class Q_3DRENDERSHARED_PRIVATE_EXPORT ShaderDataManager : public Qt3DCore::QResourceManager<
ShaderData,
Qt3DCore::QNodeId,
Qt3DCore::NonLockingPolicy>
@@ -324,35 +324,35 @@ public:
ShaderDataManager() {}
};
-class TextureImageManager : public Qt3DCore::QResourceManager<
+class Q_3DRENDERSHARED_PRIVATE_EXPORT TextureImageManager : public Qt3DCore::QResourceManager<
TextureImage,
Qt3DCore::QNodeId,
Qt3DCore::NonLockingPolicy>
{
};
-class AttributeManager : public Qt3DCore::QResourceManager<
+class Q_3DRENDERSHARED_PRIVATE_EXPORT AttributeManager : public Qt3DCore::QResourceManager<
Attribute,
Qt3DCore::QNodeId,
Qt3DCore::NonLockingPolicy>
{
};
-class GeometryManager : public Qt3DCore::QResourceManager<
+class Q_3DRENDERSHARED_PRIVATE_EXPORT GeometryManager : public Qt3DCore::QResourceManager<
Geometry,
Qt3DCore::QNodeId,
Qt3DCore::NonLockingPolicy>
{
};
-class ObjectPickerManager : public Qt3DCore::QResourceManager<
+class Q_3DRENDERSHARED_PRIVATE_EXPORT ObjectPickerManager : public Qt3DCore::QResourceManager<
ObjectPicker,
Qt3DCore::QNodeId,
Qt3DCore::NonLockingPolicy>
{
};
-class RayCasterManager : public Qt3DCore::QResourceManager<
+class Q_3DRENDERSHARED_PRIVATE_EXPORT RayCasterManager : public Qt3DCore::QResourceManager<
RayCaster,
Qt3DCore::QNodeId,
Qt3DCore::NonLockingPolicy>
@@ -368,7 +368,7 @@ class BoundingVolumeDebugManager : public Qt3DCore::QResourceManager<
};
#endif
-class LightManager : public Qt3DCore::QResourceManager<
+class Q_3DRENDERSHARED_PRIVATE_EXPORT LightManager : public Qt3DCore::QResourceManager<
Light,
Qt3DCore::QNodeId,
Qt3DCore::NonLockingPolicy>
@@ -377,7 +377,7 @@ public:
LightManager() {}
};
-class EnvironmentLightManager : public Qt3DCore::QResourceManager<
+class Q_3DRENDERSHARED_PRIVATE_EXPORT EnvironmentLightManager : public Qt3DCore::QResourceManager<
EnvironmentLight,
Qt3DCore::QNodeId,
Qt3DCore::NonLockingPolicy>
@@ -386,7 +386,7 @@ public:
EnvironmentLightManager() {}
};
-class ComputeCommandManager : public Qt3DCore::QResourceManager<
+class Q_3DRENDERSHARED_PRIVATE_EXPORT ComputeCommandManager : public Qt3DCore::QResourceManager<
ComputeCommand,
Qt3DCore::QNodeId,
Qt3DCore::NonLockingPolicy>
@@ -395,21 +395,21 @@ public:
ComputeCommandManager() {}
};
-class RenderStateManager : public Qt3DCore::QResourceManager<
+class Q_3DRENDERSHARED_PRIVATE_EXPORT RenderStateManager : public Qt3DCore::QResourceManager<
RenderStateNode,
Qt3DCore::QNodeId,
Qt3DCore::NonLockingPolicy>
{
};
-class ArmatureManager : public Qt3DCore::QResourceManager<
+class Q_3DRENDERSHARED_PRIVATE_EXPORT ArmatureManager : public Qt3DCore::QResourceManager<
Armature,
Qt3DCore::QNodeId,
Qt3DCore::NonLockingPolicy>
{
};
-class SkeletonManager : public Qt3DCore::QResourceManager<
+class Q_3DRENDERSHARED_PRIVATE_EXPORT SkeletonManager : public Qt3DCore::QResourceManager<
Skeleton,
Qt3DCore::QNodeId,
Qt3DCore::NonLockingPolicy>
@@ -428,7 +428,7 @@ private:
QVector<HSkeleton> m_dirtyTransformSkeletons;
};
-class JointManager : public Qt3DCore::QResourceManager<
+class Q_3DRENDERSHARED_PRIVATE_EXPORT JointManager : public Qt3DCore::QResourceManager<
Joint,
Qt3DCore::QNodeId,
Qt3DCore::NonLockingPolicy>
diff --git a/src/render/backend/offscreensurfacehelper_p.h b/src/render/backend/offscreensurfacehelper_p.h
index 8dc86d9a4..6ec82db2f 100644
--- a/src/render/backend/offscreensurfacehelper_p.h
+++ b/src/render/backend/offscreensurfacehelper_p.h
@@ -52,6 +52,7 @@
//
#include <QObject>
+#include <Qt3DRender/private/qt3drender_global_p.h>
QT_BEGIN_NAMESPACE
@@ -62,7 +63,7 @@ namespace Render {
class AbstractRenderer;
-class Q_AUTOTEST_EXPORT OffscreenSurfaceHelper : public QObject
+class Q_3DRENDERSHARED_PRIVATE_EXPORT OffscreenSurfaceHelper : public QObject
{
Q_OBJECT
public:
diff --git a/src/render/backend/platformsurfacefilter.cpp b/src/render/backend/platformsurfacefilter.cpp
index 891e30c44..115fb637f 100644
--- a/src/render/backend/platformsurfacefilter.cpp
+++ b/src/render/backend/platformsurfacefilter.cpp
@@ -39,7 +39,7 @@
#include "platformsurfacefilter_p.h"
-#include <Qt3DRender/private/renderer_p.h>
+#include <Qt3DRender/private/abstractrenderer_p.h>
#include <QMetaObject>
#include <QPlatformSurfaceEvent>
diff --git a/src/render/backend/platformsurfacefilter_p.h b/src/render/backend/platformsurfacefilter_p.h
index 4fb43bae1..0bb425989 100644
--- a/src/render/backend/platformsurfacefilter_p.h
+++ b/src/render/backend/platformsurfacefilter_p.h
@@ -67,7 +67,7 @@ namespace Render {
class AbstractRenderer;
-class PlatformSurfaceFilter : public QObject
+class Q_3DRENDERSHARED_PRIVATE_EXPORT PlatformSurfaceFilter : public QObject
{
Q_OBJECT
diff --git a/src/render/backend/render-backend.pri b/src/render/backend/render-backend.pri
index 87083312f..2815ee0ab 100644
--- a/src/render/backend/render-backend.pri
+++ b/src/render/backend/render-backend.pri
@@ -5,7 +5,6 @@ HEADERS += \
$$PWD/parameterpack_p.h \
$$PWD/rendertarget_p.h \
$$PWD/attachmentpack_p.h \
- $$PWD/qgraphicsutils_p.h \
$$PWD/managers_p.h \
$$PWD/handle_types_p.h \
$$PWD/platformsurfacefilter_p.h \
@@ -38,7 +37,6 @@ HEADERS += \
$$PWD/visitorutils_p.h \
$$PWD/segmentsvisitor_p.h \
$$PWD/pointsvisitor_p.h \
- $$PWD/commandexecuter_p.h \
$$PWD/apishadermanager_p.h
SOURCES += \
@@ -69,5 +67,4 @@ SOURCES += \
$$PWD/offscreensurfacehelper.cpp \
$$PWD/resourceaccessor.cpp \
$$PWD/segmentsvisitor.cpp \
- $$PWD/pointsvisitor.cpp \
- $$PWD/commandexecuter.cpp
+ $$PWD/pointsvisitor.cpp
diff --git a/src/render/backend/rendersettings_p.h b/src/render/backend/rendersettings_p.h
index 1c8c0ca72..a1e34c9dd 100644
--- a/src/render/backend/rendersettings_p.h
+++ b/src/render/backend/rendersettings_p.h
@@ -62,7 +62,7 @@ namespace Render {
class AbstractRenderer;
-class Q_AUTOTEST_EXPORT RenderSettings : public BackendNode
+class Q_3DRENDERSHARED_PRIVATE_EXPORT RenderSettings : public BackendNode
{
public:
RenderSettings();
diff --git a/src/render/backend/rendertarget_p.h b/src/render/backend/rendertarget_p.h
index 30769dcfc..eeaf94940 100644
--- a/src/render/backend/rendertarget_p.h
+++ b/src/render/backend/rendertarget_p.h
@@ -65,7 +65,7 @@ namespace Render {
class RenderTargetManager;
-class Q_AUTOTEST_EXPORT RenderTarget : public BackendNode
+class Q_3DRENDERSHARED_PRIVATE_EXPORT RenderTarget : public BackendNode
{
public:
RenderTarget();
diff --git a/src/render/backend/rendertargetoutput_p.h b/src/render/backend/rendertargetoutput_p.h
index d72f6d231..3a8828eeb 100644
--- a/src/render/backend/rendertargetoutput_p.h
+++ b/src/render/backend/rendertargetoutput_p.h
@@ -65,7 +65,7 @@ namespace Render {
class AttachmentManager;
-class RenderTargetOutput : public BackendNode
+class Q_3DRENDERSHARED_PRIVATE_EXPORT RenderTargetOutput : public BackendNode
{
public:
RenderTargetOutput();
diff --git a/src/render/backend/renderthread_p.h b/src/render/backend/renderthread_p.h
index 56a7ec3bc..cdbb4f8c5 100644
--- a/src/render/backend/renderthread_p.h
+++ b/src/render/backend/renderthread_p.h
@@ -52,7 +52,7 @@
//
#include <QThread>
-
+#include <Qt3DRender/private/qt3drender_global_p.h>
#include <QtCore/QSemaphore>
QT_BEGIN_NAMESPACE
@@ -63,7 +63,7 @@ namespace Render {
class AbstractRenderer;
-class Q_AUTOTEST_EXPORT RenderThread : public QThread
+class Q_3DRENDERSHARED_PRIVATE_EXPORT RenderThread : public QThread
{
Q_OBJECT
public:
diff --git a/src/render/backend/resourceaccessor.cpp b/src/render/backend/resourceaccessor.cpp
index 846caca58..ebc55c7ca 100644
--- a/src/render/backend/resourceaccessor.cpp
+++ b/src/render/backend/resourceaccessor.cpp
@@ -40,7 +40,6 @@
#include <private/qrendertargetoutput_p.h>
#include <private/nodemanagers_p.h>
-#include <private/glresourcemanagers_p.h>
#include <private/rendertargetoutput_p.h>
#include <private/managers_p.h>
diff --git a/src/render/backend/stringtoint_p.h b/src/render/backend/stringtoint_p.h
index 996cecf33..1aa6f0b08 100644
--- a/src/render/backend/stringtoint_p.h
+++ b/src/render/backend/stringtoint_p.h
@@ -54,6 +54,7 @@
#include <QVector>
#include <QString>
+#include <Qt3DRender/private/qt3drender_global_p.h>
QT_BEGIN_NAMESPACE
@@ -61,7 +62,7 @@ namespace Qt3DRender {
namespace Render {
-class Q_AUTOTEST_EXPORT StringToInt
+class Q_3DRENDERSHARED_PRIVATE_EXPORT StringToInt
{
public:
static int lookupId(const QString &str);
diff --git a/src/render/backend/transform_p.h b/src/render/backend/transform_p.h
index 8c0cd826a..3023a19d1 100644
--- a/src/render/backend/transform_p.h
+++ b/src/render/backend/transform_p.h
@@ -65,7 +65,7 @@ namespace Render {
class Renderer;
class TransformManager;
-class Q_AUTOTEST_EXPORT Transform : public BackendNode
+class Q_3DRENDERSHARED_PRIVATE_EXPORT Transform : public BackendNode
{
public:
Transform();
diff --git a/src/render/backend/uniform_p.h b/src/render/backend/uniform_p.h
index c8731637c..eb959923a 100644
--- a/src/render/backend/uniform_p.h
+++ b/src/render/backend/uniform_p.h
@@ -56,7 +56,7 @@
#include <Qt3DCore/private/matrix4x4_p.h>
#include <Qt3DCore/private/vector3d_p.h>
#include <Qt3DCore/private/vector4d_p.h>
-
+#include <Qt3DRender/private/qt3drender_global_p.h>
#include <QMatrix4x4>
#include <QVector2D>
#include <QVector3D>
@@ -105,7 +105,7 @@ enum UniformType {
Unknown
};
-class Q_AUTOTEST_EXPORT UniformValue
+class Q_3DRENDERSHARED_PRIVATE_EXPORT UniformValue
{
public:
enum ValueType {
@@ -238,7 +238,7 @@ private:
};
template<>
-Q_AUTOTEST_EXPORT void UniformValue::setData<QMatrix4x4>(const QVector<QMatrix4x4> &v);
+Q_3DRENDERSHARED_PRIVATE_EXPORT void UniformValue::setData<QMatrix4x4>(const QVector<QMatrix4x4> &v);
} // namespace Render
} // namespace Qt3DRender
diff --git a/src/render/framegraph/blitframebuffer_p.h b/src/render/framegraph/blitframebuffer_p.h
index fa9ddacd9..773833eb5 100644
--- a/src/render/framegraph/blitframebuffer_p.h
+++ b/src/render/framegraph/blitframebuffer_p.h
@@ -60,7 +60,7 @@ namespace Qt3DRender {
namespace Render {
-class Q_AUTOTEST_EXPORT BlitFramebuffer : public FrameGraphNode
+class Q_3DRENDERSHARED_PRIVATE_EXPORT BlitFramebuffer : public FrameGraphNode
{
public:
BlitFramebuffer();
diff --git a/src/render/framegraph/buffercapture_p.h b/src/render/framegraph/buffercapture_p.h
index d638f35d5..dfade50eb 100644
--- a/src/render/framegraph/buffercapture_p.h
+++ b/src/render/framegraph/buffercapture_p.h
@@ -60,7 +60,7 @@ namespace Qt3DRender {
namespace Render {
-class Q_AUTOTEST_EXPORT BufferCapture : public FrameGraphNode
+class Q_3DRENDERSHARED_PRIVATE_EXPORT BufferCapture : public FrameGraphNode
{
public:
BufferCapture();
diff --git a/src/render/framegraph/cameraselectornode.cpp b/src/render/framegraph/cameraselectornode.cpp
index 3beb0ef71..00772c502 100644
--- a/src/render/framegraph/cameraselectornode.cpp
+++ b/src/render/framegraph/cameraselectornode.cpp
@@ -39,7 +39,8 @@
#include "cameraselectornode_p.h"
#include <Qt3DRender/private/qcameraselector_p.h>
-#include <Qt3DRender/private/renderer_p.h>
+#include <Qt3DRender/private/abstractrenderer_p.h>
+#include <Qt3DCore/private/qchangearbiter_p.h>
#include <Qt3DCore/qentity.h>
#include <Qt3DRender/private/renderlogging_p.h>
diff --git a/src/render/framegraph/cameraselectornode_p.h b/src/render/framegraph/cameraselectornode_p.h
index dd7e050d0..24590f960 100644
--- a/src/render/framegraph/cameraselectornode_p.h
+++ b/src/render/framegraph/cameraselectornode_p.h
@@ -64,7 +64,7 @@ namespace Render {
class Renderer;
-class CameraSelector : public FrameGraphNode
+class Q_3DRENDERSHARED_PRIVATE_EXPORT CameraSelector : public FrameGraphNode
{
public:
CameraSelector();
diff --git a/src/render/framegraph/clearbuffers_p.h b/src/render/framegraph/clearbuffers_p.h
index ca55d2a98..746d58da7 100644
--- a/src/render/framegraph/clearbuffers_p.h
+++ b/src/render/framegraph/clearbuffers_p.h
@@ -62,7 +62,7 @@ namespace Render {
class FrameGraphManager;
-class ClearBuffers : public FrameGraphNode
+class Q_3DRENDERSHARED_PRIVATE_EXPORT ClearBuffers : public FrameGraphNode
{
public:
ClearBuffers();
diff --git a/src/render/framegraph/dispatchcompute_p.h b/src/render/framegraph/dispatchcompute_p.h
index 24a641938..7df8db1da 100644
--- a/src/render/framegraph/dispatchcompute_p.h
+++ b/src/render/framegraph/dispatchcompute_p.h
@@ -60,7 +60,7 @@ namespace Qt3DRender {
namespace Render {
-class DispatchCompute : public FrameGraphNode
+class Q_3DRENDERSHARED_PRIVATE_EXPORT DispatchCompute : public FrameGraphNode
{
public:
DispatchCompute();
diff --git a/src/render/framegraph/framegraphnode.cpp b/src/render/framegraph/framegraphnode.cpp
index 40d8fca3d..92116af7d 100644
--- a/src/render/framegraph/framegraphnode.cpp
+++ b/src/render/framegraph/framegraphnode.cpp
@@ -38,7 +38,7 @@
****************************************************************************/
#include "framegraphnode_p.h"
-#include <Qt3DRender/private/renderer_p.h>
+#include <Qt3DRender/private/abstractrenderer_p.h>
#include <Qt3DRender/private/nodemanagers_p.h>
#include <Qt3DRender/qframegraphnodecreatedchange.h>
diff --git a/src/render/framegraph/framegraphnode_p.h b/src/render/framegraph/framegraphnode_p.h
index 846dc8060..7571e6d8b 100644
--- a/src/render/framegraph/framegraphnode_p.h
+++ b/src/render/framegraph/framegraphnode_p.h
@@ -74,7 +74,7 @@ namespace Render {
class FrameGraphManager;
-class Q_AUTOTEST_EXPORT FrameGraphNode : public BackendNode
+class Q_3DRENDERSHARED_PRIVATE_EXPORT FrameGraphNode : public BackendNode
{
public:
FrameGraphNode();
diff --git a/src/render/framegraph/framegraphvisitor.cpp b/src/render/framegraph/framegraphvisitor.cpp
index 9af0297a0..b0eb1ac00 100644
--- a/src/render/framegraph/framegraphvisitor.cpp
+++ b/src/render/framegraph/framegraphvisitor.cpp
@@ -42,7 +42,7 @@
#include "framegraphnode_p.h"
#include "subtreeenabler_p.h"
-#include <Qt3DRender/private/renderer_p.h>
+#include <Qt3DRender/private/abstractrenderer_p.h>
#include <Qt3DRender/private/managers_p.h>
#include <QThreadPool>
diff --git a/src/render/framegraph/framegraphvisitor_p.h b/src/render/framegraph/framegraphvisitor_p.h
index 5706a169d..0bb6cf0d4 100644
--- a/src/render/framegraph/framegraphvisitor_p.h
+++ b/src/render/framegraph/framegraphvisitor_p.h
@@ -54,6 +54,7 @@
#include <qglobal.h>
#include <Qt3DCore/qaspectjob.h>
+#include <Qt3DRender/private/qt3drender_global_p.h>
#include <QVector>
@@ -66,7 +67,7 @@ class FrameGraphNode;
class Renderer;
class FrameGraphManager;
-class Q_AUTOTEST_EXPORT FrameGraphVisitor
+class Q_3DRENDERSHARED_PRIVATE_EXPORT FrameGraphVisitor
{
public:
explicit FrameGraphVisitor(const FrameGraphManager *nodeManager);
diff --git a/src/render/framegraph/frustumculling_p.h b/src/render/framegraph/frustumculling_p.h
index 7f9959c6e..ac11b7306 100644
--- a/src/render/framegraph/frustumculling_p.h
+++ b/src/render/framegraph/frustumculling_p.h
@@ -59,7 +59,7 @@ namespace Qt3DRender {
namespace Render {
-class FrustumCulling : public FrameGraphNode
+class Q_3DRENDERSHARED_PRIVATE_EXPORT FrustumCulling : public FrameGraphNode
{
public:
FrustumCulling();
diff --git a/src/render/framegraph/layerfilternode_p.h b/src/render/framegraph/layerfilternode_p.h
index 27cdc49d3..f075d5ec4 100644
--- a/src/render/framegraph/layerfilternode_p.h
+++ b/src/render/framegraph/layerfilternode_p.h
@@ -64,7 +64,7 @@ namespace Render {
class Renderer;
-class LayerFilterNode : public FrameGraphNode
+class Q_3DRENDERSHARED_PRIVATE_EXPORT LayerFilterNode : public FrameGraphNode
{
public:
LayerFilterNode();
diff --git a/src/render/framegraph/memorybarrier_p.h b/src/render/framegraph/memorybarrier_p.h
index ce545cd09..78bb91c40 100644
--- a/src/render/framegraph/memorybarrier_p.h
+++ b/src/render/framegraph/memorybarrier_p.h
@@ -60,7 +60,7 @@ namespace Qt3DRender {
namespace Render {
-class Q_AUTOTEST_EXPORT MemoryBarrier : public FrameGraphNode
+class Q_3DRENDERSHARED_PRIVATE_EXPORT MemoryBarrier : public FrameGraphNode
{
public:
MemoryBarrier();
diff --git a/src/render/framegraph/nodraw_p.h b/src/render/framegraph/nodraw_p.h
index ae9fa6713..ace625250 100644
--- a/src/render/framegraph/nodraw_p.h
+++ b/src/render/framegraph/nodraw_p.h
@@ -59,7 +59,7 @@ namespace Qt3DRender {
namespace Render {
-class NoDraw : public FrameGraphNode
+class Q_3DRENDERSHARED_PRIVATE_EXPORT NoDraw : public FrameGraphNode
{
public:
NoDraw();
diff --git a/src/render/framegraph/proximityfilter_p.h b/src/render/framegraph/proximityfilter_p.h
index 5c2f7ad66..27d89f76d 100644
--- a/src/render/framegraph/proximityfilter_p.h
+++ b/src/render/framegraph/proximityfilter_p.h
@@ -59,7 +59,7 @@ namespace Qt3DRender {
namespace Render {
-class Q_AUTOTEST_EXPORT ProximityFilter : public FrameGraphNode
+class Q_3DRENDERSHARED_PRIVATE_EXPORT ProximityFilter : public FrameGraphNode
{
public:
ProximityFilter();
diff --git a/src/render/framegraph/rendercapture_p.h b/src/render/framegraph/rendercapture_p.h
index 5714fb44d..f2a2a55b7 100644
--- a/src/render/framegraph/rendercapture_p.h
+++ b/src/render/framegraph/rendercapture_p.h
@@ -57,7 +57,7 @@ namespace Qt3DRender {
namespace Render {
-class Q_AUTOTEST_EXPORT RenderCapture : public FrameGraphNode
+class Q_3DRENDERSHARED_PRIVATE_EXPORT RenderCapture : public FrameGraphNode
{
public:
RenderCapture();
diff --git a/src/render/framegraph/renderpassfilternode_p.h b/src/render/framegraph/renderpassfilternode_p.h
index 157a162bb..c9084573e 100644
--- a/src/render/framegraph/renderpassfilternode_p.h
+++ b/src/render/framegraph/renderpassfilternode_p.h
@@ -67,7 +67,7 @@ class QHandle;
namespace Render {
-class RenderPassFilter : public Render::FrameGraphNode
+class Q_3DRENDERSHARED_PRIVATE_EXPORT RenderPassFilter : public Render::FrameGraphNode
{
public:
RenderPassFilter();
diff --git a/src/render/framegraph/rendersurfaceselector.cpp b/src/render/framegraph/rendersurfaceselector.cpp
index a1e639df5..c7e46efa7 100644
--- a/src/render/framegraph/rendersurfaceselector.cpp
+++ b/src/render/framegraph/rendersurfaceselector.cpp
@@ -40,7 +40,6 @@
#include "rendersurfaceselector_p.h"
#include <Qt3DRender/qrendersurfaceselector.h>
#include <Qt3DRender/private/qrendersurfaceselector_p.h>
-
#include <QtGui/qwindow.h>
#include <QtGui/qscreen.h>
#include <QtGui/qoffscreensurface.h>
diff --git a/src/render/framegraph/rendersurfaceselector_p.h b/src/render/framegraph/rendersurfaceselector_p.h
index f1a139e84..3378ececa 100644
--- a/src/render/framegraph/rendersurfaceselector_p.h
+++ b/src/render/framegraph/rendersurfaceselector_p.h
@@ -60,7 +60,7 @@ class QSurface;
namespace Qt3DRender {
namespace Render {
-class RenderSurfaceSelector : public Qt3DRender::Render::FrameGraphNode
+class Q_3DRENDERSHARED_PRIVATE_EXPORT RenderSurfaceSelector : public Qt3DRender::Render::FrameGraphNode
{
public:
RenderSurfaceSelector();
diff --git a/src/render/framegraph/rendertargetselectornode.cpp b/src/render/framegraph/rendertargetselectornode.cpp
index 614a749a5..f32b8c7d9 100644
--- a/src/render/framegraph/rendertargetselectornode.cpp
+++ b/src/render/framegraph/rendertargetselectornode.cpp
@@ -38,7 +38,6 @@
****************************************************************************/
#include "rendertargetselectornode_p.h"
-#include <Qt3DRender/private/renderer_p.h>
#include <Qt3DCore/private/qchangearbiter_p.h>
#include <Qt3DRender/qrendertargetselector.h>
#include <Qt3DRender/private/qrendertargetselector_p.h>
diff --git a/src/render/framegraph/rendertargetselectornode_p.h b/src/render/framegraph/rendertargetselectornode_p.h
index 232ee9ecc..04032045a 100644
--- a/src/render/framegraph/rendertargetselectornode_p.h
+++ b/src/render/framegraph/rendertargetselectornode_p.h
@@ -61,7 +61,7 @@ class QRenderTargetSelector;
namespace Render {
-class RenderTargetSelector : public FrameGraphNode
+class Q_3DRENDERSHARED_PRIVATE_EXPORT RenderTargetSelector : public FrameGraphNode
{
public:
RenderTargetSelector();
diff --git a/src/render/framegraph/setfence_p.h b/src/render/framegraph/setfence_p.h
index 31072581c..0f54d65ee 100644
--- a/src/render/framegraph/setfence_p.h
+++ b/src/render/framegraph/setfence_p.h
@@ -60,7 +60,7 @@ namespace Qt3DRender {
namespace Render {
-class Q_AUTOTEST_EXPORT SetFence : public FrameGraphNode
+class Q_3DRENDERSHARED_PRIVATE_EXPORT SetFence : public FrameGraphNode
{
public:
SetFence();
diff --git a/src/render/framegraph/sortpolicy_p.h b/src/render/framegraph/sortpolicy_p.h
index 8d572ead7..2015adf87 100644
--- a/src/render/framegraph/sortpolicy_p.h
+++ b/src/render/framegraph/sortpolicy_p.h
@@ -60,7 +60,7 @@ namespace Qt3DRender {
namespace Render {
-class Q_AUTOTEST_EXPORT SortPolicy : public FrameGraphNode
+class Q_3DRENDERSHARED_PRIVATE_EXPORT SortPolicy : public FrameGraphNode
{
public:
SortPolicy();
diff --git a/src/render/framegraph/statesetnode_p.h b/src/render/framegraph/statesetnode_p.h
index 5081f3215..618b52338 100644
--- a/src/render/framegraph/statesetnode_p.h
+++ b/src/render/framegraph/statesetnode_p.h
@@ -59,7 +59,7 @@ namespace Qt3DRender {
namespace Render {
-class StateSetNode : public FrameGraphNode
+class Q_3DRENDERSHARED_PRIVATE_EXPORT StateSetNode : public FrameGraphNode
{
public:
StateSetNode();
diff --git a/src/render/framegraph/subtreeenabler.cpp b/src/render/framegraph/subtreeenabler.cpp
index 4d912dc1d..37989df1a 100644
--- a/src/render/framegraph/subtreeenabler.cpp
+++ b/src/render/framegraph/subtreeenabler.cpp
@@ -39,7 +39,6 @@
#include "subtreeenabler_p.h"
#include <Qt3DRender/private/qsubtreeenabler_p.h>
-#include <Qt3DCore/qpropertyupdatedchange.h>
QT_BEGIN_NAMESPACE
diff --git a/src/render/framegraph/techniquefilternode_p.h b/src/render/framegraph/techniquefilternode_p.h
index e424e37e5..2e71e31d4 100644
--- a/src/render/framegraph/techniquefilternode_p.h
+++ b/src/render/framegraph/techniquefilternode_p.h
@@ -70,7 +70,7 @@ class QHandle;
namespace Render {
-class TechniqueFilter
+class Q_3DRENDERSHARED_PRIVATE_EXPORT TechniqueFilter
: public FrameGraphNode
{
public:
diff --git a/src/render/framegraph/viewportnode_p.h b/src/render/framegraph/viewportnode_p.h
index 3e291a9da..f673b1e21 100644
--- a/src/render/framegraph/viewportnode_p.h
+++ b/src/render/framegraph/viewportnode_p.h
@@ -64,7 +64,7 @@ namespace Render {
class Renderer;
-class Q_AUTOTEST_EXPORT ViewportNode : public FrameGraphNode
+class Q_3DRENDERSHARED_PRIVATE_EXPORT ViewportNode : public FrameGraphNode
{
public:
ViewportNode();
diff --git a/src/render/frontend/qrenderaspect.cpp b/src/render/frontend/qrenderaspect.cpp
index a58b14cbd..a5cf7d90e 100644
--- a/src/render/frontend/qrenderaspect.cpp
+++ b/src/render/frontend/qrenderaspect.cpp
@@ -41,7 +41,7 @@
#include "qrenderaspect_p.h"
#include <Qt3DRender/private/nodemanagers_p.h>
-#include <Qt3DRender/private/renderer_p.h>
+#include <Qt3DRender/private/abstractrenderer_p.h>
#include <Qt3DRender/private/scenemanager_p.h>
#include <Qt3DRender/private/geometryrenderermanager_p.h>
@@ -56,8 +56,10 @@
#include <Qt3DRender/qmesh.h>
#include <Qt3DRender/qparameter.h>
#include <Qt3DRender/qrenderpassfilter.h>
+#include <Qt3DRender/qrenderpass.h>
#include <Qt3DRender/qrendertargetselector.h>
#include <Qt3DRender/qtechniquefilter.h>
+#include <Qt3DRender/qtechnique.h>
#include <Qt3DRender/qviewport.h>
#include <Qt3DRender/qrendertarget.h>
#include <Qt3DRender/qclearbuffers.h>
@@ -102,7 +104,7 @@
#include <Qt3DRender/private/cameralens_p.h>
#include <Qt3DRender/private/filterkey_p.h>
#include <Qt3DRender/private/entity_p.h>
-#include <Qt3DRender/private/renderer_p.h>
+#include <Qt3DRender/private/abstractrenderer_p.h>
#include <Qt3DRender/private/shaderdata_p.h>
#include <Qt3DRender/private/renderpassfilternode_p.h>
#include <Qt3DRender/private/rendertargetselectornode_p.h>
@@ -163,6 +165,8 @@
#include <private/qrenderpluginfactory_p.h>
#include <private/qrenderplugin_p.h>
+#include <Qt3DRender/private/qrendererpluginfactory_p.h>
+
#include <Qt3DCore/qentity.h>
#include <Qt3DCore/qtransform.h>
@@ -572,8 +576,9 @@ void QRenderAspect::onRegistered()
Q_D(QRenderAspect);
d->m_nodeManagers = new Render::NodeManagers();
- // TO DO: Load proper Renderer class based on Qt configuration preferences
- d->m_renderer = new Render::Renderer(d->m_renderType);
+ // Load proper Renderer class based on Qt configuration preferences
+ d->m_renderer = d->loadRendererPlugin();
+ Q_ASSERT(d->m_renderer);
d->m_renderer->setScreen(d->m_screen);
d->m_renderer->setNodeManagers(d->m_nodeManagers);
@@ -662,6 +667,20 @@ void QRenderAspectPrivate::loadSceneParsers()
}
}
+Render::AbstractRenderer *QRenderAspectPrivate::loadRendererPlugin()
+{
+ // Note: for now we load the first renderer plugin that is successfully loaded
+ // In the future we might want to offer the user a way to hint at which renderer
+ // plugin would best be loaded
+ const QStringList keys = Render::QRendererPluginFactory::keys();
+ for (const QString &key : keys) {
+ Render::AbstractRenderer *renderer = Render::QRendererPluginFactory::create(key, m_renderType);
+ if (renderer)
+ return renderer;
+ }
+ return nullptr;
+}
+
void QRenderAspectPrivate::loadRenderPlugin(const QString &pluginName)
{
Q_Q(QRenderAspect);
diff --git a/src/render/frontend/qrenderaspect_p.h b/src/render/frontend/qrenderaspect_p.h
index 8723180ab..f59fd693f 100644
--- a/src/render/frontend/qrenderaspect_p.h
+++ b/src/render/frontend/qrenderaspect_p.h
@@ -98,6 +98,7 @@ public:
void renderShutdown();
void registerBackendType(const QMetaObject &, const Qt3DCore::QBackendNodeMapperPtr &functor);
QVector<Qt3DCore::QAspectJobPtr> createGeometryRendererJobs();
+ Render::AbstractRenderer *loadRendererPlugin();
Render::NodeManagers *m_nodeManagers;
Render::AbstractRenderer *m_renderer;
diff --git a/src/render/frontend/sphere_p.h b/src/render/frontend/sphere_p.h
index b7585f85a..448704cf4 100644
--- a/src/render/frontend/sphere_p.h
+++ b/src/render/frontend/sphere_p.h
@@ -56,8 +56,6 @@
#include <Qt3DCore/private/matrix4x4_p.h>
#include <Qt3DRender/private/boundingsphere_p.h>
-#include <QMatrix4x4>
-
QT_BEGIN_NAMESPACE
namespace Qt3DRender {
diff --git a/src/render/geometry/armature_p.h b/src/render/geometry/armature_p.h
index 39baa4a79..db9d28bd6 100644
--- a/src/render/geometry/armature_p.h
+++ b/src/render/geometry/armature_p.h
@@ -58,7 +58,7 @@ QT_BEGIN_NAMESPACE
namespace Qt3DRender {
namespace Render {
-class Q_AUTOTEST_EXPORT Armature : public BackendNode
+class Q_3DRENDERSHARED_PRIVATE_EXPORT Armature : public BackendNode
{
public:
Armature();
diff --git a/src/render/geometry/attribute_p.h b/src/render/geometry/attribute_p.h
index 4b47146e1..87b3cbb4f 100644
--- a/src/render/geometry/attribute_p.h
+++ b/src/render/geometry/attribute_p.h
@@ -60,7 +60,7 @@ namespace Qt3DRender {
namespace Render {
-class Q_AUTOTEST_EXPORT Attribute : public BackendNode
+class Q_3DRENDERSHARED_PRIVATE_EXPORT Attribute : public BackendNode
{
public:
Attribute();
diff --git a/src/render/geometry/buffer_p.h b/src/render/geometry/buffer_p.h
index a3f52d1b3..3490b7bc9 100644
--- a/src/render/geometry/buffer_p.h
+++ b/src/render/geometry/buffer_p.h
@@ -66,7 +66,7 @@ namespace Render {
class BufferManager;
-class Q_AUTOTEST_EXPORT Buffer : public BackendNode
+class Q_3DRENDERSHARED_PRIVATE_EXPORT Buffer : public BackendNode
{
public:
Buffer();
diff --git a/src/render/geometry/buffermanager_p.h b/src/render/geometry/buffermanager_p.h
index df97a5193..bafcf8812 100644
--- a/src/render/geometry/buffermanager_p.h
+++ b/src/render/geometry/buffermanager_p.h
@@ -60,7 +60,7 @@ namespace Qt3DRender {
namespace Render {
-class Q_AUTOTEST_EXPORT BufferManager : public Qt3DCore::QResourceManager<
+class Q_3DRENDERSHARED_PRIVATE_EXPORT BufferManager : public Qt3DCore::QResourceManager<
Buffer,
Qt3DCore::QNodeId,
Qt3DCore::ObjectLevelLockingPolicy>
diff --git a/src/render/geometry/geometry_p.h b/src/render/geometry/geometry_p.h
index 429a577b0..fdad63286 100644
--- a/src/render/geometry/geometry_p.h
+++ b/src/render/geometry/geometry_p.h
@@ -60,7 +60,7 @@ namespace Qt3DRender {
namespace Render {
-class Q_AUTOTEST_EXPORT Geometry : public BackendNode
+class Q_3DRENDERSHARED_PRIVATE_EXPORT Geometry : public BackendNode
{
public:
Geometry();
diff --git a/src/render/geometry/geometryrenderer_p.h b/src/render/geometry/geometryrenderer_p.h
index d2ddad4bb..a38233d6c 100644
--- a/src/render/geometry/geometryrenderer_p.h
+++ b/src/render/geometry/geometryrenderer_p.h
@@ -73,7 +73,7 @@ struct GeometryFunctorResult
QMesh::Status status;
};
-class Q_AUTOTEST_EXPORT GeometryRenderer : public BackendNode
+class Q_3DRENDERSHARED_PRIVATE_EXPORT GeometryRenderer : public BackendNode
{
public:
GeometryRenderer();
diff --git a/src/render/geometry/geometryrenderermanager_p.h b/src/render/geometry/geometryrenderermanager_p.h
index becf1bcc1..7b7b629bd 100644
--- a/src/render/geometry/geometryrenderermanager_p.h
+++ b/src/render/geometry/geometryrenderermanager_p.h
@@ -60,7 +60,7 @@ namespace Qt3DRender {
namespace Render {
-class Q_AUTOTEST_EXPORT GeometryRendererManager : public Qt3DCore::QResourceManager<
+class Q_3DRENDERSHARED_PRIVATE_EXPORT GeometryRendererManager : public Qt3DCore::QResourceManager<
GeometryRenderer,
Qt3DCore::QNodeId,
Qt3DCore::ObjectLevelLockingPolicy>
diff --git a/src/render/geometry/joint_p.h b/src/render/geometry/joint_p.h
index de875459e..c178fdcf8 100644
--- a/src/render/geometry/joint_p.h
+++ b/src/render/geometry/joint_p.h
@@ -63,7 +63,7 @@ namespace Render {
class JointManager;
class SkeletonManager;
-class Q_AUTOTEST_EXPORT Joint : public BackendNode
+class Q_3DRENDERSHARED_PRIVATE_EXPORT Joint : public BackendNode
{
public:
Joint();
diff --git a/src/render/geometry/skeleton_p.h b/src/render/geometry/skeleton_p.h
index 7a5299944..ac475a3c0 100644
--- a/src/render/geometry/skeleton_p.h
+++ b/src/render/geometry/skeleton_p.h
@@ -72,7 +72,7 @@ namespace Render {
class JointManager;
class SkeletonManager;
-class Q_AUTOTEST_EXPORT Skeleton : public BackendNode
+class Q_3DRENDERSHARED_PRIVATE_EXPORT Skeleton : public BackendNode
{
public:
enum SkeletonDataType {
diff --git a/src/render/io/scene_p.h b/src/render/io/scene_p.h
index bf625b369..cf927bc23 100644
--- a/src/render/io/scene_p.h
+++ b/src/render/io/scene_p.h
@@ -67,7 +67,7 @@ namespace Render {
class SceneManager;
-class Q_AUTOTEST_EXPORT Scene : public BackendNode
+class Q_3DRENDERSHARED_PRIVATE_EXPORT Scene : public BackendNode
{
public:
Scene();
diff --git a/src/render/io/scenemanager_p.h b/src/render/io/scenemanager_p.h
index 470846b83..badef2bf9 100644
--- a/src/render/io/scenemanager_p.h
+++ b/src/render/io/scenemanager_p.h
@@ -82,7 +82,7 @@ private:
typedef QSharedPointer<SceneDownloader> SceneDownloaderPtr;
-class Q_AUTOTEST_EXPORT SceneManager : public Qt3DCore::QResourceManager<
+class Q_3DRENDERSHARED_PRIVATE_EXPORT SceneManager : public Qt3DCore::QResourceManager<
Scene,
Qt3DCore::QNodeId,
Qt3DCore::ObjectLevelLockingPolicy>
diff --git a/src/render/jobs/abstractpickingjob.cpp b/src/render/jobs/abstractpickingjob.cpp
index 092ab7d3b..ea2916006 100644
--- a/src/render/jobs/abstractpickingjob.cpp
+++ b/src/render/jobs/abstractpickingjob.cpp
@@ -39,7 +39,6 @@
#include "abstractpickingjob_p.h"
#include <Qt3DRender/qgeometryrenderer.h>
-#include <Qt3DRender/private/renderer_p.h>
#include <Qt3DRender/private/nodemanagers_p.h>
#include <Qt3DRender/private/entity_p.h>
#include <Qt3DRender/private/objectpicker_p.h>
diff --git a/src/render/jobs/abstractpickingjob_p.h b/src/render/jobs/abstractpickingjob_p.h
index c0c6ed7e9..f53805ac5 100644
--- a/src/render/jobs/abstractpickingjob_p.h
+++ b/src/render/jobs/abstractpickingjob_p.h
@@ -57,6 +57,7 @@
#include <Qt3DRender/private/qboundingvolumeprovider_p.h>
#include <Qt3DRender/private/qcollisionqueryresult_p.h>
#include <Qt3DRender/private/pickboundingvolumeutils_p.h>
+#include <Qt3DRender/private/qt3drender_global_p.h>
QT_BEGIN_NAMESPACE
@@ -72,7 +73,7 @@ class Renderer;
class NodeManagers;
class RenderSettings;
-class Q_AUTOTEST_EXPORT AbstractPickingJob : public Qt3DCore::QAspectJob
+class Q_3DRENDERSHARED_PRIVATE_EXPORT AbstractPickingJob : public Qt3DCore::QAspectJob
{
public:
AbstractPickingJob();
diff --git a/src/render/jobs/computefilteredboundingvolumejob.cpp b/src/render/jobs/computefilteredboundingvolumejob.cpp
index 0cdbc8b6d..0be3cb489 100644
--- a/src/render/jobs/computefilteredboundingvolumejob.cpp
+++ b/src/render/jobs/computefilteredboundingvolumejob.cpp
@@ -39,7 +39,6 @@
#include "computefilteredboundingvolumejob_p.h"
-#include <Qt3DRender/private/renderer_p.h>
#include <Qt3DRender/private/entity_p.h>
#include <Qt3DRender/private/renderlogging_p.h>
#include <Qt3DRender/private/sphere_p.h>
diff --git a/src/render/jobs/expandboundingvolumejob.cpp b/src/render/jobs/expandboundingvolumejob.cpp
index 8587634cb..ec783e5e0 100644
--- a/src/render/jobs/expandboundingvolumejob.cpp
+++ b/src/render/jobs/expandboundingvolumejob.cpp
@@ -39,7 +39,6 @@
#include "expandboundingvolumejob_p.h"
-#include <Qt3DRender/private/renderer_p.h>
#include <Qt3DRender/private/entity_p.h>
#include <Qt3DRender/private/renderlogging_p.h>
#include <Qt3DRender/private/sphere_p.h>
diff --git a/src/render/jobs/filterproximitydistancejob_p.h b/src/render/jobs/filterproximitydistancejob_p.h
index 935d4036f..e058f011a 100644
--- a/src/render/jobs/filterproximitydistancejob_p.h
+++ b/src/render/jobs/filterproximitydistancejob_p.h
@@ -42,6 +42,7 @@
#include <Qt3DCore/qaspectjob.h>
#include <Qt3DCore/qnodeid.h>
+#include <Qt3DRender/private/qt3drender_global_p.h>
QT_BEGIN_NAMESPACE
@@ -52,7 +53,7 @@ namespace Render {
class Entity;
class NodeManagers;
-class Q_AUTOTEST_EXPORT FilterProximityDistanceJob : public Qt3DCore::QAspectJob
+class Q_3DRENDERSHARED_PRIVATE_EXPORT FilterProximityDistanceJob : public Qt3DCore::QAspectJob
{
public:
FilterProximityDistanceJob();
diff --git a/src/render/jobs/framecleanupjob.cpp b/src/render/jobs/framecleanupjob.cpp
index fb63f005b..957e39a89 100644
--- a/src/render/jobs/framecleanupjob.cpp
+++ b/src/render/jobs/framecleanupjob.cpp
@@ -38,7 +38,6 @@
****************************************************************************/
#include "framecleanupjob_p.h"
-#include <private/renderer_p.h>
#include <private/nodemanagers_p.h>
#include <private/entity_p.h>
#include <private/shaderdata_p.h>
diff --git a/src/render/jobs/frustumcullingjob.cpp b/src/render/jobs/frustumcullingjob.cpp
index e22d625df..aa1a57a31 100644
--- a/src/render/jobs/frustumcullingjob.cpp
+++ b/src/render/jobs/frustumcullingjob.cpp
@@ -41,7 +41,6 @@
#include <Qt3DRender/private/job_common_p.h>
#include <Qt3DRender/private/managers_p.h>
#include <Qt3DRender/private/entity_p.h>
-#include <Qt3DRender/private/renderview_p.h>
#include <Qt3DRender/private/sphere_p.h>
#include <Qt3DRender/private/managers_p.h>
#include <Qt3DRender/private/nodemanagers_p.h>
diff --git a/src/render/jobs/frustumcullingjob_p.h b/src/render/jobs/frustumcullingjob_p.h
index cddbbd409..636585c2f 100644
--- a/src/render/jobs/frustumcullingjob_p.h
+++ b/src/render/jobs/frustumcullingjob_p.h
@@ -42,7 +42,10 @@
#include <Qt3DCore/qaspectjob.h>
#include <Qt3DCore/private/matrix4x4_p.h>
+#include <Qt3DCore/private/vector3d_p.h>
+#include <Qt3DCore/private/vector4d_p.h>
#include <Qt3DRender/private/aligned_malloc_p.h>
+#include <Qt3DRender/private/qt3drender_global_p.h>
//
// W A R N I N G
@@ -66,7 +69,7 @@ class EntityManager;
class NodeManagers;
struct Plane;
-class FrustumCullingJob : public Qt3DCore::QAspectJob
+class Q_3DRENDERSHARED_PRIVATE_EXPORT FrustumCullingJob : public Qt3DCore::QAspectJob
{
public:
FrustumCullingJob();
@@ -85,6 +88,19 @@ public:
void run() final;
private:
+ struct Q_AUTOTEST_EXPORT Plane
+ {
+ explicit Plane(const Vector4D &planeEquation)
+ : planeEquation(planeEquation)
+ , normal(Vector3D(planeEquation).normalized())
+ , d(planeEquation.w() / Vector3D(planeEquation).length())
+ {}
+
+ const Vector4D planeEquation;
+ const Vector3D normal;
+ const float d;
+ };
+
void cullScene(Entity *e, const Plane *planes);
Matrix4x4 m_viewProjection;
Entity *m_root;
diff --git a/src/render/jobs/lightgatherer.cpp b/src/render/jobs/lightgatherer.cpp
index b79976aef..b878b0a78 100644
--- a/src/render/jobs/lightgatherer.cpp
+++ b/src/render/jobs/lightgatherer.cpp
@@ -41,6 +41,7 @@
#include <Qt3DRender/private/job_common_p.h>
#include <Qt3DRender/private/managers_p.h>
#include <Qt3DRender/private/entity_p.h>
+#include <Qt3DRender/private/qt3drender_global_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/render/jobs/lightgatherer_p.h b/src/render/jobs/lightgatherer_p.h
index d0090ccd0..59e64ad74 100644
--- a/src/render/jobs/lightgatherer_p.h
+++ b/src/render/jobs/lightgatherer_p.h
@@ -53,6 +53,7 @@
#include <Qt3DCore/qaspectjob.h>
#include <Qt3DRender/private/lightsource_p.h>
+#include <Qt3DRender/private/qt3drender_global_p.h>
QT_BEGIN_NAMESPACE
@@ -63,7 +64,7 @@ namespace Render {
class EntityManager;
class EnvironmentLight;
-class Q_AUTOTEST_EXPORT LightGatherer : public Qt3DCore::QAspectJob
+class Q_3DRENDERSHARED_PRIVATE_EXPORT LightGatherer : public Qt3DCore::QAspectJob
{
public:
LightGatherer();
diff --git a/src/render/jobs/loadbufferjob.cpp b/src/render/jobs/loadbufferjob.cpp
index 0f4feb5d4..fd57248e1 100644
--- a/src/render/jobs/loadbufferjob.cpp
+++ b/src/render/jobs/loadbufferjob.cpp
@@ -41,9 +41,9 @@
#include <Qt3DRender/private/buffer_p.h>
#include <Qt3DRender/private/qbuffer_p.h>
#include <Qt3DRender/private/buffermanager_p.h>
-#include <Qt3DRender/private/renderer_p.h>
#include <Qt3DRender/private/job_common_p.h>
#include <Qt3DCore/private/qaspectmanager_p.h>
+#include <Qt3DRender/private/renderlogging_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/render/jobs/loadbufferjob_p.h b/src/render/jobs/loadbufferjob_p.h
index e86e4f835..5f20bfb00 100644
--- a/src/render/jobs/loadbufferjob_p.h
+++ b/src/render/jobs/loadbufferjob_p.h
@@ -65,7 +65,7 @@ namespace Render {
class NodeManagers;
class LoadBufferJobPrivate;
-class Q_AUTOTEST_EXPORT LoadBufferJob : public Qt3DCore::QAspectJob
+class Q_3DRENDERSHARED_PRIVATE_EXPORT LoadBufferJob : public Qt3DCore::QAspectJob
{
public:
explicit LoadBufferJob(const HBuffer &handle);
diff --git a/src/render/jobs/loadgeometryjob_p.h b/src/render/jobs/loadgeometryjob_p.h
index 998d543ac..e5edf0100 100644
--- a/src/render/jobs/loadgeometryjob_p.h
+++ b/src/render/jobs/loadgeometryjob_p.h
@@ -54,6 +54,7 @@
#include <QSharedPointer>
#include <Qt3DCore/qaspectjob.h>
#include <Qt3DRender/private/handle_types_p.h>
+#include <Qt3DRender/private/qt3drender_global_p.h>
QT_BEGIN_NAMESPACE
@@ -64,7 +65,7 @@ namespace Render {
class NodeManagers;
class LoadGeometryJobPrivate;
-class Q_AUTOTEST_EXPORT LoadGeometryJob : public Qt3DCore::QAspectJob
+class Q_3DRENDERSHARED_PRIVATE_EXPORT LoadGeometryJob : public Qt3DCore::QAspectJob
{
public:
explicit LoadGeometryJob(const HGeometryRenderer &handle);
diff --git a/src/render/jobs/loadscenejob.cpp b/src/render/jobs/loadscenejob.cpp
index be855c608..959cbe3eb 100644
--- a/src/render/jobs/loadscenejob.cpp
+++ b/src/render/jobs/loadscenejob.cpp
@@ -38,9 +38,9 @@
****************************************************************************/
#include "loadscenejob_p.h"
-#include <private/renderer_p.h>
#include <private/nodemanagers_p.h>
#include <private/scenemanager_p.h>
+#include <QCoreApplication>
#include <Qt3DCore/qentity.h>
#include <Qt3DCore/private/qaspectmanager_p.h>
#include <Qt3DRender/private/job_common_p.h>
diff --git a/src/render/jobs/loadscenejob_p.h b/src/render/jobs/loadscenejob_p.h
index 3675d94c1..39d2d8d6e 100644
--- a/src/render/jobs/loadscenejob_p.h
+++ b/src/render/jobs/loadscenejob_p.h
@@ -58,6 +58,7 @@
#include <QSharedPointer>
#include <QUrl>
#include <functional>
+#include <Qt3DRender/private/qt3drender_global_p.h>
QT_BEGIN_NAMESPACE
@@ -88,7 +89,7 @@ private:
LoadSceneJob *q_ptr;
};
-class Q_AUTOTEST_EXPORT LoadSceneJob : public Qt3DCore::QAspectJob
+class Q_3DRENDERSHARED_PRIVATE_EXPORT LoadSceneJob : public Qt3DCore::QAspectJob
{
public:
explicit LoadSceneJob(const QUrl &source, Qt3DCore::QNodeId sceneComponent);
diff --git a/src/render/jobs/loadskeletonjob.cpp b/src/render/jobs/loadskeletonjob.cpp
index e696cc434..de12b7e39 100644
--- a/src/render/jobs/loadskeletonjob.cpp
+++ b/src/render/jobs/loadskeletonjob.cpp
@@ -47,6 +47,9 @@
#include <Qt3DRender/private/job_common_p.h>
#include <Qt3DRender/private/qurlhelper_p.h>
#include <Qt3DRender/private/gltfskeletonloader_p.h>
+#include <Qt3DRender/private/renderlogging_p.h>
+#include <QtCore/QCoreApplication>
+#include <QtCore/QFileInfo>
QT_BEGIN_NAMESPACE
diff --git a/src/render/jobs/pickboundingvolumejob.cpp b/src/render/jobs/pickboundingvolumejob.cpp
index 2973ee100..dce184f46 100644
--- a/src/render/jobs/pickboundingvolumejob.cpp
+++ b/src/render/jobs/pickboundingvolumejob.cpp
@@ -46,7 +46,6 @@
#include <Qt3DRender/qviewport.h>
#include <Qt3DRender/qgeometryrenderer.h>
#include <Qt3DRender/private/qobjectpicker_p.h>
-#include <Qt3DRender/private/renderer_p.h>
#include <Qt3DRender/private/nodemanagers_p.h>
#include <Qt3DRender/private/entity_p.h>
#include <Qt3DRender/private/objectpicker_p.h>
diff --git a/src/render/jobs/pickboundingvolumejob_p.h b/src/render/jobs/pickboundingvolumejob_p.h
index 49b11b775..4f2c4340e 100644
--- a/src/render/jobs/pickboundingvolumejob_p.h
+++ b/src/render/jobs/pickboundingvolumejob_p.h
@@ -58,6 +58,7 @@
#include <Qt3DRender/private/qboundingvolumeprovider_p.h>
#include <Qt3DRender/private/qcollisionqueryresult_p.h>
#include <Qt3DRender/private/pickboundingvolumeutils_p.h>
+#include <Qt3DRender/private/qt3drender_global_p.h>
#include <Qt3DRender/qpickevent.h>
#include <QMouseEvent>
#include <QKeyEvent>
@@ -76,7 +77,7 @@ namespace PickingUtils {
typedef QVector<RayCasting::QCollisionQueryResult::Hit> HitList;
}
-class Q_AUTOTEST_EXPORT PickBoundingVolumeJob : public AbstractPickingJob
+class Q_3DRENDERSHARED_PRIVATE_EXPORT PickBoundingVolumeJob : public AbstractPickingJob
{
public:
PickBoundingVolumeJob();
diff --git a/src/render/jobs/raycastingjob.cpp b/src/render/jobs/raycastingjob.cpp
index 380447873..50dcaecde 100644
--- a/src/render/jobs/raycastingjob.cpp
+++ b/src/render/jobs/raycastingjob.cpp
@@ -48,7 +48,6 @@
#include <Qt3DRender/private/pickboundingvolumeutils_p.h>
#include <Qt3DRender/private/qray3d_p.h>
#include <Qt3DRender/private/sphere_p.h>
-#include <Qt3DRender/private/renderer_p.h>
#include <Qt3DRender/private/rendersettings_p.h>
#include <Qt3DRender/private/trianglesvisitor_p.h>
#include <Qt3DRender/private/entityvisitor_p.h>
diff --git a/src/render/jobs/raycastingjob_p.h b/src/render/jobs/raycastingjob_p.h
index 4b8b91ad5..0a8b7aa3a 100644
--- a/src/render/jobs/raycastingjob_p.h
+++ b/src/render/jobs/raycastingjob_p.h
@@ -55,6 +55,7 @@
#include <Qt3DRender/qpickevent.h>
#include <Qt3DRender/private/handle_types_p.h>
#include <Qt3DRender/private/qcollisionqueryresult_p.h>
+#include <Qt3DRender/private/qt3drender_global_p.h>
#include <QMouseEvent>
#include <QKeyEvent>
#include <QSharedPointer>
@@ -70,7 +71,7 @@ typedef QVector<RayCasting::QCollisionQueryResult::Hit> HitList;
class RayCastingJobPrivate;
-class Q_AUTOTEST_EXPORT RayCastingJob : public AbstractPickingJob
+class Q_3DRENDERSHARED_PRIVATE_EXPORT RayCastingJob : public AbstractPickingJob
{
public:
RayCastingJob();
diff --git a/src/render/jobs/updateskinningpalettejob_p.h b/src/render/jobs/updateskinningpalettejob_p.h
index c52e0841c..f74cf6a73 100644
--- a/src/render/jobs/updateskinningpalettejob_p.h
+++ b/src/render/jobs/updateskinningpalettejob_p.h
@@ -53,6 +53,7 @@
#include <QtCore/qsharedpointer.h>
#include <Qt3DRender/private/handle_types_p.h>
+#include <Qt3DRender/private/qt3drender_global_p.h>
QT_BEGIN_NAMESPACE
@@ -61,7 +62,7 @@ namespace Render {
class NodeManagers;
-class UpdateSkinningPaletteJob : public Qt3DCore::QAspectJob
+class Q_3DRENDERSHARED_PRIVATE_EXPORT UpdateSkinningPaletteJob : public Qt3DCore::QAspectJob
{
public:
explicit UpdateSkinningPaletteJob();
diff --git a/src/render/jobs/updateworldtransformjob.cpp b/src/render/jobs/updateworldtransformjob.cpp
index e3c8077f4..12582c297 100644
--- a/src/render/jobs/updateworldtransformjob.cpp
+++ b/src/render/jobs/updateworldtransformjob.cpp
@@ -42,7 +42,6 @@
#include <Qt3DCore/qtransform.h>
#include <Qt3DCore/private/qtransform_p.h>
#include <Qt3DCore/private/qaspectmanager_p.h>
-#include <Qt3DRender/private/renderer_p.h>
#include <Qt3DRender/private/entity_p.h>
#include <Qt3DRender/private/transform_p.h>
#include <Qt3DRender/private/renderlogging_p.h>
diff --git a/src/render/lights/environmentlight_p.h b/src/render/lights/environmentlight_p.h
index 92f6ce100..7a631ed28 100644
--- a/src/render/lights/environmentlight_p.h
+++ b/src/render/lights/environmentlight_p.h
@@ -59,7 +59,7 @@ namespace Qt3DRender {
namespace Render {
-class Q_AUTOTEST_EXPORT EnvironmentLight : public BackendNode
+class Q_3DRENDERSHARED_PRIVATE_EXPORT EnvironmentLight : public BackendNode
{
public:
Qt3DCore::QNodeId shaderData() const;
diff --git a/src/render/lights/light_p.h b/src/render/lights/light_p.h
index 5f5f8140e..d1497fddd 100644
--- a/src/render/lights/light_p.h
+++ b/src/render/lights/light_p.h
@@ -61,7 +61,7 @@ namespace Render {
class NodeManagers;
-class Q_AUTOTEST_EXPORT Light : public BackendNode
+class Q_3DRENDERSHARED_PRIVATE_EXPORT Light : public BackendNode
{
public:
Qt3DCore::QNodeId shaderData() const;
diff --git a/src/render/lights/lightsource_p.h b/src/render/lights/lightsource_p.h
index 9e56dc70e..bfa2b81f9 100644
--- a/src/render/lights/lightsource_p.h
+++ b/src/render/lights/lightsource_p.h
@@ -51,7 +51,7 @@
// We mean it.
//
-#include <Qt3DRender/qt3drender_global.h>
+#include <Qt3DRender/private/qt3drender_global_p.h>
#include <QVector>
QT_BEGIN_NAMESPACE
@@ -63,7 +63,7 @@ namespace Render {
class Entity;
class Light;
-struct LightSource {
+struct Q_3DRENDERSHARED_PRIVATE_EXPORT LightSource {
LightSource();
LightSource(Entity *entity, const QVector<Light *> &lights);
diff --git a/src/render/materialsystem/effect.cpp b/src/render/materialsystem/effect.cpp
index 035cf4746..9b787b7e2 100644
--- a/src/render/materialsystem/effect.cpp
+++ b/src/render/materialsystem/effect.cpp
@@ -38,9 +38,9 @@
****************************************************************************/
#include <Qt3DRender/private/effect_p.h>
-#include <Qt3DRender/private/renderer_p.h>
#include <Qt3DRender/qeffect.h>
#include <Qt3DRender/qparameter.h>
+#include <Qt3DRender/qtechnique.h>
#include <Qt3DRender/private/qeffect_p.h>
#include <QVariant>
diff --git a/src/render/materialsystem/effect_p.h b/src/render/materialsystem/effect_p.h
index e81be2b8d..e8f79120b 100644
--- a/src/render/materialsystem/effect_p.h
+++ b/src/render/materialsystem/effect_p.h
@@ -63,7 +63,7 @@ class QTechnique;
namespace Render {
-class Q_AUTOTEST_EXPORT Effect : public BackendNode
+class Q_3DRENDERSHARED_PRIVATE_EXPORT Effect : public BackendNode
{
public:
Effect();
diff --git a/src/render/materialsystem/filterkey_p.h b/src/render/materialsystem/filterkey_p.h
index f4fb2c3d0..91d0ba1f0 100644
--- a/src/render/materialsystem/filterkey_p.h
+++ b/src/render/materialsystem/filterkey_p.h
@@ -62,7 +62,7 @@ class QFilterKey;
namespace Render {
-class Q_AUTOTEST_EXPORT FilterKey : public BackendNode
+class Q_3DRENDERSHARED_PRIVATE_EXPORT FilterKey : public BackendNode
{
public:
FilterKey();
diff --git a/src/render/materialsystem/material_p.h b/src/render/materialsystem/material_p.h
index 7a02c6691..b13f49b81 100644
--- a/src/render/materialsystem/material_p.h
+++ b/src/render/materialsystem/material_p.h
@@ -54,7 +54,6 @@
#include <QVariant>
#include <Qt3DRender/private/backendnode_p.h>
-#include <Qt3DRender/private/shaderparameterpack_p.h>
#include <Qt3DRender/private/parameterpack_p.h>
QT_BEGIN_NAMESPACE
@@ -72,7 +71,7 @@ class Technique;
class Effect;
class MaterialManager;
-class Q_AUTOTEST_EXPORT Material : public BackendNode
+class Q_3DRENDERSHARED_PRIVATE_EXPORT Material : public BackendNode
{
public:
Material();
diff --git a/src/render/materialsystem/parameter_p.h b/src/render/materialsystem/parameter_p.h
index 258834ff3..8a30d6657 100644
--- a/src/render/materialsystem/parameter_p.h
+++ b/src/render/materialsystem/parameter_p.h
@@ -64,7 +64,7 @@ namespace Render {
class ParameterManager;
class ShaderDataManager;
-class Q_AUTOTEST_EXPORT Parameter : public BackendNode
+class Q_3DRENDERSHARED_PRIVATE_EXPORT Parameter : public BackendNode
{
public:
Parameter();
diff --git a/src/render/materialsystem/qshaderprogram_p.h b/src/render/materialsystem/qshaderprogram_p.h
index f09b2a30e..20883f03a 100644
--- a/src/render/materialsystem/qshaderprogram_p.h
+++ b/src/render/materialsystem/qshaderprogram_p.h
@@ -51,14 +51,15 @@
// We mean it.
//
-#include <private/qnode_p.h>
+#include <Qt3DCore/private/qnode_p.h>
#include <Qt3DRender/qshaderprogram.h>
+#include <Qt3DRender/private/qt3drender_global_p.h>
QT_BEGIN_NAMESPACE
namespace Qt3DRender {
-class QShaderProgramPrivate : public Qt3DCore::QNodePrivate
+class Q_3DRENDERSHARED_PRIVATE_EXPORT QShaderProgramPrivate : public Qt3DCore::QNodePrivate
{
public:
QShaderProgramPrivate();
diff --git a/src/render/materialsystem/renderpass.cpp b/src/render/materialsystem/renderpass.cpp
index 19e2a427e..a9e8c9b1d 100644
--- a/src/render/materialsystem/renderpass.cpp
+++ b/src/render/materialsystem/renderpass.cpp
@@ -46,7 +46,6 @@
#include <Qt3DRender/private/qrenderpass_p.h>
#include <Qt3DRender/private/renderstates_p.h>
-#include <Qt3DRender/private/renderstateset_p.h>
#include <algorithm>
diff --git a/src/render/materialsystem/renderpass_p.h b/src/render/materialsystem/renderpass_p.h
index 314386ad1..03c5c5f19 100644
--- a/src/render/materialsystem/renderpass_p.h
+++ b/src/render/materialsystem/renderpass_p.h
@@ -71,7 +71,7 @@ namespace Render {
class RenderPassManager;
class RenderState;
-class Q_AUTOTEST_EXPORT RenderPass : public BackendNode
+class Q_3DRENDERSHARED_PRIVATE_EXPORT RenderPass : public BackendNode
{
public:
RenderPass();
diff --git a/src/render/materialsystem/shader.cpp b/src/render/materialsystem/shader.cpp
index 00d9d334f..afa70ed41 100644
--- a/src/render/materialsystem/shader.cpp
+++ b/src/render/materialsystem/shader.cpp
@@ -46,7 +46,6 @@
#include <QMutexLocker>
#include <qshaderprogram.h>
#include <Qt3DRender/private/attachmentpack_p.h>
-#include <Qt3DRender/private/graphicscontext_p.h>
#include <Qt3DRender/private/qshaderprogram_p.h>
#include <Qt3DRender/private/stringtoint_p.h>
#include <Qt3DCore/qpropertyupdatedchange.h>
diff --git a/src/render/materialsystem/shader_p.h b/src/render/materialsystem/shader_p.h
index 301976065..6f5383e88 100644
--- a/src/render/materialsystem/shader_p.h
+++ b/src/render/materialsystem/shader_p.h
@@ -67,7 +67,7 @@ namespace Render {
class ShaderManager;
class AttachmentPack;
-class Q_AUTOTEST_EXPORT Shader : public BackendNode
+class Q_3DRENDERSHARED_PRIVATE_EXPORT Shader : public BackendNode
{
public:
static const int modelMatrixNameId;
diff --git a/src/render/materialsystem/shaderdata.cpp b/src/render/materialsystem/shaderdata.cpp
index 34d4641e9..cc0b39c77 100644
--- a/src/render/materialsystem/shaderdata.cpp
+++ b/src/render/materialsystem/shaderdata.cpp
@@ -44,12 +44,9 @@
#include <QMetaObject>
#include <Qt3DCore/qdynamicpropertyupdatedchange.h>
#include <Qt3DCore/qpropertyupdatedchange.h>
-#include <private/graphicscontext_p.h>
#include <private/qbackendnode_p.h>
-#include <private/glbuffer_p.h>
#include <private/managers_p.h>
#include <private/nodemanagers_p.h>
-#include <private/renderviewjobutils_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/render/materialsystem/shaderdata_p.h b/src/render/materialsystem/shaderdata_p.h
index c9cc22939..671ba6ace 100644
--- a/src/render/materialsystem/shaderdata_p.h
+++ b/src/render/materialsystem/shaderdata_p.h
@@ -52,7 +52,6 @@
//
#include <Qt3DRender/private/backendnode_p.h>
-#include <Qt3DRender/private/shadervariables_p.h>
#include <Qt3DRender/qshaderdata.h>
#include <QMutex>
#include <Qt3DCore/private/matrix4x4_p.h>
@@ -67,7 +66,7 @@ class GraphicsContext;
class GLBuffer;
class NodeManagers;
-class Q_AUTOTEST_EXPORT ShaderData : public BackendNode
+class Q_3DRENDERSHARED_PRIVATE_EXPORT ShaderData : public BackendNode
{
public:
enum TransformType {
diff --git a/src/render/materialsystem/technique.cpp b/src/render/materialsystem/technique.cpp
index 10e9af990..440d7e49c 100644
--- a/src/render/materialsystem/technique.cpp
+++ b/src/render/materialsystem/technique.cpp
@@ -43,7 +43,6 @@
#include <Qt3DRender/qparameter.h>
#include <Qt3DRender/qtechnique.h>
#include <Qt3DRender/qgraphicsapifilter.h>
-#include <Qt3DRender/private/renderer_p.h>
#include <Qt3DRender/private/filterkey_p.h>
#include <Qt3DRender/private/qtechnique_p.h>
#include <Qt3DRender/private/shader_p.h>
diff --git a/src/render/materialsystem/techniquemanager_p.h b/src/render/materialsystem/techniquemanager_p.h
index 8108d5f5b..205dbc191 100644
--- a/src/render/materialsystem/techniquemanager_p.h
+++ b/src/render/materialsystem/techniquemanager_p.h
@@ -60,7 +60,7 @@ namespace Qt3DRender {
namespace Render {
-class Q_AUTOTEST_EXPORT TechniqueManager : public Qt3DCore::QResourceManager<
+class Q_3DRENDERSHARED_PRIVATE_EXPORT TechniqueManager : public Qt3DCore::QResourceManager<
Technique,
Qt3DCore::QNodeId,
Qt3DCore::NonLockingPolicy>
diff --git a/src/render/picking/objectpicker_p.h b/src/render/picking/objectpicker_p.h
index 49c8de770..d2ccf1c6a 100644
--- a/src/render/picking/objectpicker_p.h
+++ b/src/render/picking/objectpicker_p.h
@@ -62,7 +62,7 @@ typedef QSharedPointer<QPickEvent> QPickEventPtr;
namespace Render {
-class Q_AUTOTEST_EXPORT ObjectPicker : public BackendNode
+class Q_3DRENDERSHARED_PRIVATE_EXPORT ObjectPicker : public BackendNode
{
public:
ObjectPicker();
diff --git a/src/render/picking/pickeventfilter_p.h b/src/render/picking/pickeventfilter_p.h
index dfd8c1b99..81ba6a9f4 100644
--- a/src/render/picking/pickeventfilter_p.h
+++ b/src/render/picking/pickeventfilter_p.h
@@ -55,6 +55,7 @@
#include <QMouseEvent>
#include <QKeyEvent>
#include <QtCore/qmutex.h>
+#include <Qt3DRender/private/qt3drender_global_p.h>
QT_BEGIN_NAMESPACE
@@ -62,7 +63,7 @@ namespace Qt3DRender {
namespace Render {
-class PickEventFilter : public QObject
+class Q_3DRENDERSHARED_PRIVATE_EXPORT PickEventFilter : public QObject
{
Q_OBJECT
public:
diff --git a/src/render/picking/raycaster_p.h b/src/render/picking/raycaster_p.h
index 865d40365..e7d12af56 100644
--- a/src/render/picking/raycaster_p.h
+++ b/src/render/picking/raycaster_p.h
@@ -64,7 +64,7 @@ namespace Qt3DRender {
namespace Render {
-class Q_AUTOTEST_EXPORT RayCaster : public BackendNode
+class Q_3DRENDERSHARED_PRIVATE_EXPORT RayCaster : public BackendNode
{
public:
RayCaster();
diff --git a/src/render/qrendererplugin.cpp b/src/render/qrendererplugin.cpp
new file mode 100644
index 000000000..eb54a0ead
--- /dev/null
+++ b/src/render/qrendererplugin.cpp
@@ -0,0 +1,68 @@
+/****************************************************************************
+**
+** Copyright (C) 2018 Klaralvdalens Datakonsult AB (KDAB).
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the Qt3D module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qrendererplugin_p.h"
+
+QT_BEGIN_NAMESPACE
+
+namespace Qt3DRender {
+
+namespace Render {
+
+QRendererPlugin::QRendererPlugin(QObject *parent)
+ : QObject(parent)
+{
+}
+
+QRendererPlugin::~QRendererPlugin()
+{
+}
+
+AbstractRenderer *QRendererPlugin::create(const QString &key, QRenderAspect::RenderType renderMode)
+{
+ Q_UNUSED(key)
+ Q_UNUSED(renderMode)
+ return nullptr;
+}
+
+} // Render
+
+} // Qt3DRender
+
+QT_END_NAMESPACE
diff --git a/src/render/qrendererplugin_p.h b/src/render/qrendererplugin_p.h
new file mode 100644
index 000000000..d4daeeda2
--- /dev/null
+++ b/src/render/qrendererplugin_p.h
@@ -0,0 +1,86 @@
+/****************************************************************************
+**
+** Copyright (C) 2018 Klaralvdalens Datakonsult AB (KDAB).
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the Qt3D module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QT3DRENDER_RENDER_QRENDERERPLUGIN_P_H
+#define QT3DRENDER_RENDER_QRENDERERPLUGIN_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists for the convenience
+// of other Qt classes. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include <QtCore/QObject>
+#include <QtCore/QtPlugin>
+#include <QtCore/QFactoryInterface>
+#include <Qt3DRender/private/qt3drender_global_p.h>
+#include <Qt3DRender/qrenderaspect.h>
+
+QT_BEGIN_NAMESPACE
+
+namespace Qt3DRender {
+
+namespace Render {
+
+#define QRendererPluginFactoryInterface_iid "org.qt-project.Qt3DRender.QRendererFactoryInterface 5.11"
+
+class AbstractRenderer;
+
+class Q_3DRENDERSHARED_PRIVATE_EXPORT QRendererPlugin : public QObject
+{
+ Q_OBJECT
+public:
+ explicit QRendererPlugin(QObject *parent = nullptr);
+ ~QRendererPlugin();
+
+ virtual AbstractRenderer *create(const QString &key, QRenderAspect::RenderType renderMode);
+};
+
+} // Render
+
+} // Qt3DRender
+
+QT_END_NAMESPACE
+
+#endif // QT3DRENDER_RENDER_QRENDERERPLUGIN_P_H
diff --git a/src/render/qrendererpluginfactory.cpp b/src/render/qrendererpluginfactory.cpp
new file mode 100644
index 000000000..3cd41daed
--- /dev/null
+++ b/src/render/qrendererpluginfactory.cpp
@@ -0,0 +1,102 @@
+/****************************************************************************
+**
+** Copyright (C) 2018 Klaralvdalens Datakonsult AB (KDAB).
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the Qt3D module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qrendererpluginfactory_p.h"
+
+#include <QtCore/private/qfactoryloader_p.h>
+#include <QtCore/QCoreApplication>
+#include <QtCore/QDir>
+
+#include <Qt3DRender/private/qrendererplugin_p.h>
+
+QT_BEGIN_NAMESPACE
+
+namespace Qt3DRender {
+
+namespace Render {
+
+Q_GLOBAL_STATIC_WITH_ARGS(QFactoryLoader, loader, (QRendererPluginFactoryInterface_iid, QLatin1String("/renderers"), Qt::CaseInsensitive))
+#ifndef QT_NO_LIBRARY
+Q_GLOBAL_STATIC_WITH_ARGS(QFactoryLoader, directLoader, (QRendererPluginFactoryInterface_iid, QLatin1String(""), Qt::CaseInsensitive))
+#endif
+
+QStringList QRendererPluginFactory::keys(const QString &pluginPath)
+{
+ QStringList list;
+ if (!pluginPath.isEmpty()) {
+#if QT_CONFIG(library)
+ QCoreApplication::addLibraryPath(pluginPath);
+ list = directLoader()->keyMap().values();
+ if (!list.isEmpty()) {
+ const QString postFix = QLatin1String(" (from ")
+ + QDir::toNativeSeparators(pluginPath)
+ + QLatin1Char(')');
+ const QStringList::iterator end = list.end();
+ for (QStringList::iterator it = list.begin(); it != end; ++it)
+ (*it).append(postFix);
+ }
+#else
+ qWarning() << QObject::tr("Cannot query QRendererPlugin plugins at %1. "
+ "Library loading is disabled.").arg(pluginPath);
+#endif
+ }
+ list.append(loader()->keyMap().values());
+ return list;
+}
+
+AbstractRenderer *QRendererPluginFactory::create(const QString &name, QRenderAspect::RenderType renderMode, const QString &pluginPath)
+{
+ if (!pluginPath.isEmpty()) {
+#if QT_CONFIG(library)
+ QCoreApplication::addLibraryPath(pluginPath);
+ if (AbstractRenderer *ret = qLoadPlugin<AbstractRenderer, QRendererPlugin>(directLoader(), name, renderMode))
+ return ret;
+#else
+ qWarning() << QObject::tr("Cannot load QRendererPlugin plugin from %1. "
+ "Library loading is disabled.").arg(pluginPath);
+#endif
+ }
+ return qLoadPlugin<AbstractRenderer, QRendererPlugin>(loader(), name, renderMode);
+}
+
+} // Render
+
+} // Qt3DRender
+
+QT_END_NAMESPACE
diff --git a/src/render/qrendererpluginfactory_p.h b/src/render/qrendererpluginfactory_p.h
new file mode 100644
index 000000000..f73cc8929
--- /dev/null
+++ b/src/render/qrendererpluginfactory_p.h
@@ -0,0 +1,79 @@
+/****************************************************************************
+**
+** Copyright (C) 2018 Klaralvdalens Datakonsult AB (KDAB).
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the Qt3D module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QT3DRENDER_RENDER_QRENDERERPLUGINFACTORY_P_H
+#define QT3DRENDER_RENDER_QRENDERERPLUGINFACTORY_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists for the convenience
+// of other Qt classes. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include <Qt3DRender/private/qt3drender_global_p.h>
+#include <Qt3DRender/qrenderaspect.h>
+#include <QtCore/QStringList>
+
+QT_BEGIN_NAMESPACE
+
+namespace Qt3DRender {
+
+namespace Render {
+
+class AbstractRenderer;
+
+class Q_3DRENDERSHARED_PRIVATE_EXPORT QRendererPluginFactory
+{
+public:
+ static QStringList keys(const QString &pluginPath = QString());
+ static AbstractRenderer *create(const QString &name, QRenderAspect::RenderType renderMode, const QString &pluginPath = QString());
+};
+
+} // Render
+
+} // Qt3DRender
+
+QT_END_NAMESPACE
+
+#endif // QT3DRENDER_RENDER_QRENDERERPLUGINFACTORY_P_H
diff --git a/src/render/render.pro b/src/render/render.pro
index 55303fa83..87e298210 100644
--- a/src/render/render.pro
+++ b/src/render/render.pro
@@ -1,8 +1,7 @@
TARGET = Qt3DRender
MODULE = 3drender
-QT = core-private gui-private 3dcore-private
-QT_PRIVATE = openglextensions
+QT = core-private 3dcore-private
QT_FOR_PRIVATE = concurrent
include (backend/render-backend.pri)
@@ -18,7 +17,6 @@ include (picking/picking.pri)
include (raycasting/raycasting.pri)
include (services/services.pri)
include (texture/texture.pri)
-include (renderers/renderers.pri)
gcov {
QMAKE_CXXFLAGS += -fprofile-arcs -ftest-coverage
@@ -39,14 +37,19 @@ HEADERS += \
renderlogging_p.h \
qt3drender_global.h \
qt3drender_global_p.h \
- aligned_malloc_p.h
+ aligned_malloc_p.h \
+ qrendererplugin_p.h \
+ qrendererpluginfactory_p.h
SOURCES += \
- renderlogging.cpp
+ renderlogging.cpp \
+ qrendererplugin.cpp \
+ qrendererpluginfactory.cpp
MODULE_PLUGIN_TYPES = \
sceneparsers \
geometryloaders \
- renderplugins
+ renderplugins \
+ renderers
load(qt_module)
diff --git a/src/render/renderers/opengl/renderstates/renderstates.pri b/src/render/renderers/opengl/renderstates/renderstates.pri
deleted file mode 100644
index 10f51a0ed..000000000
--- a/src/render/renderers/opengl/renderstates/renderstates.pri
+++ /dev/null
@@ -1,7 +0,0 @@
-INCLUDEPATH += $$PWD
-
-SOURCES += \
- $$PWD/renderstateset.cpp
-
-HEADERS += \
- $$PWD/renderstateset_p.h
diff --git a/src/render/renderers/renderers.pri b/src/render/renderers/renderers.pri
deleted file mode 100644
index 795a6fbdf..000000000
--- a/src/render/renderers/renderers.pri
+++ /dev/null
@@ -1,7 +0,0 @@
-TEMPLATE = subdirs
-
-# OpenGL renderer
-include($$OUT_PWD/qt3drender-config.pri)
-QT_FOR_CONFIG += 3drender-private
-
-qtConfig(qt3d-opengl-renderer): include(opengl/opengl.pri)
diff --git a/src/render/renderstates/genericstate_p.h b/src/render/renderstates/genericstate_p.h
index e3ece36f5..1d363e4fe 100644
--- a/src/render/renderstates/genericstate_p.h
+++ b/src/render/renderstates/genericstate_p.h
@@ -56,6 +56,7 @@
#include <Qt3DRender/private/qrenderstatecreatedchange_p.h>
#include <Qt3DCore/private/qresourcemanager_p.h>
#include <Qt3DRender/private/statemask_p.h>
+#include <Qt3DRender/private/qt3drender_global_p.h>
//#include <Qt3DRender/private/statevariant_p.h>
#include <QList>
#include <QVector3D>
@@ -73,7 +74,7 @@ class GraphicsContext;
typedef quint64 StateMaskSet;
-class RenderStateImpl
+class Q_3DRENDERSHARED_PRIVATE_EXPORT RenderStateImpl
{
public:
virtual ~RenderStateImpl() {}
diff --git a/src/render/renderstates/renderstatenode_p.h b/src/render/renderstates/renderstatenode_p.h
index e0258112f..94d2eb63e 100644
--- a/src/render/renderstates/renderstatenode_p.h
+++ b/src/render/renderstates/renderstatenode_p.h
@@ -57,7 +57,7 @@ QT_BEGIN_NAMESPACE
namespace Qt3DRender {
namespace Render {
-class Q_AUTOTEST_EXPORT RenderStateNode : public BackendNode
+class Q_3DRENDERSHARED_PRIVATE_EXPORT RenderStateNode : public BackendNode
{
public:
RenderStateNode();
diff --git a/src/render/renderstates/renderstates.cpp b/src/render/renderstates/renderstates.cpp
index 5e238c010..1ab4e0092 100644
--- a/src/render/renderstates/renderstates.cpp
+++ b/src/render/renderstates/renderstates.cpp
@@ -44,7 +44,6 @@
#include <Qt3DRender/qcullface.h>
#include <Qt3DRender/qpointsize.h>
-#include <Qt3DRender/private/graphicscontext_p.h>
#include <Qt3DRender/private/qstenciloperation_p.h>
#include <Qt3DRender/private/qstenciltest_p.h>
#include <Qt3DRender/qblendequationarguments.h>
diff --git a/src/render/renderstates/renderstates.pri b/src/render/renderstates/renderstates.pri
index 06ba53a41..867a8c299 100644
--- a/src/render/renderstates/renderstates.pri
+++ b/src/render/renderstates/renderstates.pri
@@ -51,7 +51,8 @@ HEADERS += \
$$PWD/statemask_p.h \
$$PWD/statevariant_p.h \
$$PWD/qrastermode.h \
- $$PWD/qrastermode_p.h
+ $$PWD/qrastermode_p.h \
+ $$PWD/renderstateset_p.h
SOURCES += \
$$PWD/qalphacoverage.cpp \
@@ -82,4 +83,5 @@ SOURCES += \
$$PWD/renderstatenode.cpp \
$$PWD/statevariant.cpp \
$$PWD/qmultisampleantialiasing.cpp \
- $$PWD/qrastermode.cpp
+ $$PWD/qrastermode.cpp \
+ $$PWD/renderstateset.cpp
diff --git a/src/render/renderstates/renderstates_p.h b/src/render/renderstates/renderstates_p.h
index 6c8e9d551..8c4c065ee 100644
--- a/src/render/renderstates/renderstates_p.h
+++ b/src/render/renderstates/renderstates_p.h
@@ -59,128 +59,128 @@ QT_BEGIN_NAMESPACE
namespace Qt3DRender {
namespace Render {
-class Q_AUTOTEST_EXPORT BlendEquationArguments : public GenericState<BlendEquationArguments, BlendEquationArgumentsMask, GLenum, GLenum, GLenum, GLenum, bool, int>
+class Q_3DRENDERSHARED_PRIVATE_EXPORT BlendEquationArguments : public GenericState<BlendEquationArguments, BlendEquationArgumentsMask, GLenum, GLenum, GLenum, GLenum, bool, int>
{
public:
void updateProperties(const QRenderState *node) override;
};
-class Q_AUTOTEST_EXPORT BlendEquation : public GenericState<BlendEquation, BlendStateMask, GLenum>
+class Q_3DRENDERSHARED_PRIVATE_EXPORT BlendEquation : public GenericState<BlendEquation, BlendStateMask, GLenum>
{
public:
void updateProperties(const QRenderState *node) override;
};
-class Q_AUTOTEST_EXPORT AlphaFunc : public GenericState<AlphaFunc, AlphaTestMask, GLenum, GLclampf>
+class Q_3DRENDERSHARED_PRIVATE_EXPORT AlphaFunc : public GenericState<AlphaFunc, AlphaTestMask, GLenum, GLclampf>
{
public:
void updateProperties(const QRenderState *node) override;
};
-class Q_AUTOTEST_EXPORT MSAAEnabled : public GenericState<MSAAEnabled, MSAAEnabledStateMask, GLboolean>
+class Q_3DRENDERSHARED_PRIVATE_EXPORT MSAAEnabled : public GenericState<MSAAEnabled, MSAAEnabledStateMask, GLboolean>
{
public:
void updateProperties(const QRenderState *node) override;
};
-class Q_AUTOTEST_EXPORT DepthRange : public GenericState<DepthRange, DepthRangeMask, double, double>
+class Q_3DRENDERSHARED_PRIVATE_EXPORT DepthRange : public GenericState<DepthRange, DepthRangeMask, double, double>
{
public:
void updateProperties(const QRenderState *node) override;
};
-class Q_AUTOTEST_EXPORT DepthTest : public GenericState<DepthTest, DepthTestStateMask, GLenum>
+class Q_3DRENDERSHARED_PRIVATE_EXPORT DepthTest : public GenericState<DepthTest, DepthTestStateMask, GLenum>
{
public:
void updateProperties(const QRenderState *node) override;
};
-class Q_AUTOTEST_EXPORT RasterMode : public GenericState<RasterMode, RasterModeMask, GLenum, GLenum>
+class Q_3DRENDERSHARED_PRIVATE_EXPORT RasterMode : public GenericState<RasterMode, RasterModeMask, GLenum, GLenum>
{
public:
void updateProperties(const QRenderState *node) override;
};
-class Q_AUTOTEST_EXPORT NoDepthMask : public GenericState<NoDepthMask, DepthWriteStateMask, GLboolean>
+class Q_3DRENDERSHARED_PRIVATE_EXPORT NoDepthMask : public GenericState<NoDepthMask, DepthWriteStateMask, GLboolean>
{
public:
void updateProperties(const QRenderState *node) override;
};
-class Q_AUTOTEST_EXPORT CullFace : public GenericState<CullFace, CullFaceStateMask, GLenum>
+class Q_3DRENDERSHARED_PRIVATE_EXPORT CullFace : public GenericState<CullFace, CullFaceStateMask, GLenum>
{
public:
void updateProperties(const QRenderState *node) override;
};
-class Q_AUTOTEST_EXPORT FrontFace : public GenericState<FrontFace, FrontFaceStateMask, GLenum>
+class Q_3DRENDERSHARED_PRIVATE_EXPORT FrontFace : public GenericState<FrontFace, FrontFaceStateMask, GLenum>
{
public:
void updateProperties(const QRenderState *node) override;
};
-class Q_AUTOTEST_EXPORT Dithering : public GenericState<Dithering, DitheringStateMask>
+class Q_3DRENDERSHARED_PRIVATE_EXPORT Dithering : public GenericState<Dithering, DitheringStateMask>
{
};
-class Q_AUTOTEST_EXPORT ScissorTest : public GenericState<ScissorTest, ScissorStateMask, int, int, int, int>
+class Q_3DRENDERSHARED_PRIVATE_EXPORT ScissorTest : public GenericState<ScissorTest, ScissorStateMask, int, int, int, int>
{
public:
void updateProperties(const QRenderState *node) override;
};
-class Q_AUTOTEST_EXPORT StencilTest : public GenericState<StencilTest, StencilTestStateMask, GLenum, int, uint, GLenum, int, uint>
+class Q_3DRENDERSHARED_PRIVATE_EXPORT StencilTest : public GenericState<StencilTest, StencilTestStateMask, GLenum, int, uint, GLenum, int, uint>
{
public:
void updateProperties(const QRenderState *node) override;
};
-class Q_AUTOTEST_EXPORT AlphaCoverage : public GenericState<AlphaCoverage, AlphaCoverageStateMask>
+class Q_3DRENDERSHARED_PRIVATE_EXPORT AlphaCoverage : public GenericState<AlphaCoverage, AlphaCoverageStateMask>
{
};
-class Q_AUTOTEST_EXPORT PointSize : public GenericState<PointSize, PointSizeMask, bool, GLfloat>
+class Q_3DRENDERSHARED_PRIVATE_EXPORT PointSize : public GenericState<PointSize, PointSizeMask, bool, GLfloat>
{
public:
void updateProperties(const QRenderState *node) override;
};
-class Q_AUTOTEST_EXPORT PolygonOffset : public GenericState<PolygonOffset, PolygonOffsetStateMask, GLfloat, GLfloat>
+class Q_3DRENDERSHARED_PRIVATE_EXPORT PolygonOffset : public GenericState<PolygonOffset, PolygonOffsetStateMask, GLfloat, GLfloat>
{
public:
void updateProperties(const QRenderState *node) override;
};
-class Q_AUTOTEST_EXPORT ColorMask : public GenericState<ColorMask, ColorStateMask, GLboolean, GLboolean, GLboolean, GLboolean>
+class Q_3DRENDERSHARED_PRIVATE_EXPORT ColorMask : public GenericState<ColorMask, ColorStateMask, GLboolean, GLboolean, GLboolean, GLboolean>
{
public:
void updateProperties(const QRenderState *node) override;
};
-class Q_AUTOTEST_EXPORT ClipPlane : public GenericState<ClipPlane, ClipPlaneMask, int, QVector3D, float>
+class Q_3DRENDERSHARED_PRIVATE_EXPORT ClipPlane : public GenericState<ClipPlane, ClipPlaneMask, int, QVector3D, float>
{
public:
void updateProperties(const QRenderState *node) override;
};
-class Q_AUTOTEST_EXPORT SeamlessCubemap : public GenericState<SeamlessCubemap, SeamlessCubemapMask>
+class Q_3DRENDERSHARED_PRIVATE_EXPORT SeamlessCubemap : public GenericState<SeamlessCubemap, SeamlessCubemapMask>
{
};
-class Q_AUTOTEST_EXPORT StencilOp : public GenericState<StencilOp, StencilOpMask, GLenum, GLenum, GLenum, GLenum, GLenum, GLenum>
+class Q_3DRENDERSHARED_PRIVATE_EXPORT StencilOp : public GenericState<StencilOp, StencilOpMask, GLenum, GLenum, GLenum, GLenum, GLenum, GLenum>
{
public:
void updateProperties(const QRenderState *node) override;
};
-class Q_AUTOTEST_EXPORT StencilMask : public GenericState<StencilMask, StencilWriteStateMask, uint, uint>
+class Q_3DRENDERSHARED_PRIVATE_EXPORT StencilMask : public GenericState<StencilMask, StencilWriteStateMask, uint, uint>
{
public:
void updateProperties(const QRenderState *node) override;
};
-class Q_AUTOTEST_EXPORT LineWidth : public GenericState<LineWidth, LineWidthMask, GLfloat, bool>
+class Q_3DRENDERSHARED_PRIVATE_EXPORT LineWidth : public GenericState<LineWidth, LineWidthMask, GLfloat, bool>
{
public:
void updateProperties(const QRenderState *node) override;
diff --git a/src/render/renderers/opengl/renderstates/renderstateset.cpp b/src/render/renderstates/renderstateset.cpp
index d667d9c76..6b66d2dd7 100644
--- a/src/render/renderers/opengl/renderstates/renderstateset.cpp
+++ b/src/render/renderstates/renderstateset.cpp
@@ -42,9 +42,6 @@
#include <bitset>
-#include <QDebug>
-#include <QOpenGLContext>
-
#include <Qt3DRender/private/renderstates_p.h>
#include <Qt3DRender/private/qrenderstate_p.h>
diff --git a/src/render/renderers/opengl/renderstates/renderstateset_p.h b/src/render/renderstates/renderstateset_p.h
index c2f3a0219..8058bec88 100644
--- a/src/render/renderers/opengl/renderstates/renderstateset_p.h
+++ b/src/render/renderstates/renderstateset_p.h
@@ -67,7 +67,7 @@ namespace Render {
class RenderState;
-class RenderStateSet
+class Q_3DRENDERSHARED_PRIVATE_EXPORT RenderStateSet
{
public:
RenderStateSet();
diff --git a/src/render/renderstates/statevariant_p.h b/src/render/renderstates/statevariant_p.h
index ef6c80744..1926bb937 100644
--- a/src/render/renderstates/statevariant_p.h
+++ b/src/render/renderstates/statevariant_p.h
@@ -58,7 +58,7 @@ QT_BEGIN_NAMESPACE
namespace Qt3DRender {
namespace Render {
-struct Q_AUTOTEST_EXPORT StateVariant
+struct Q_3DRENDERSHARED_PRIVATE_EXPORT StateVariant
{
StateMask type;
diff --git a/src/render/services/vsyncframeadvanceservice_p.h b/src/render/services/vsyncframeadvanceservice_p.h
index c57c81a79..81d601e3e 100644
--- a/src/render/services/vsyncframeadvanceservice_p.h
+++ b/src/render/services/vsyncframeadvanceservice_p.h
@@ -52,6 +52,7 @@
//
#include <Qt3DCore/private/qabstractframeadvanceservice_p.h>
+#include <Qt3DRender/private/qt3drender_global_p.h>
QT_BEGIN_NAMESPACE
@@ -61,7 +62,7 @@ namespace Render {
class VSyncFrameAdvanceServicePrivate;
-class Q_AUTOTEST_EXPORT VSyncFrameAdvanceService final : public Qt3DCore::QAbstractFrameAdvanceService
+class Q_3DRENDERSHARED_PRIVATE_EXPORT VSyncFrameAdvanceService final : public Qt3DCore::QAbstractFrameAdvanceService
{
public:
explicit VSyncFrameAdvanceService(bool drivenByRenderThread);
diff --git a/src/render/texture/qtexture.cpp b/src/render/texture/qtexture.cpp
index 7f662dfc5..6b7b92166 100644
--- a/src/render/texture/qtexture.cpp
+++ b/src/render/texture/qtexture.cpp
@@ -57,7 +57,7 @@
#include <Qt3DRender/private/managers_p.h>
#include <Qt3DRender/private/texture_p.h>
#include <Qt3DRender/private/qurlhelper_p.h>
-#include <Qt3DRender/private/glresourcemanagers_p.h>
+#include <qmath.h>
QT_BEGIN_NAMESPACE
diff --git a/src/render/texture/qtextureimagedata_p.h b/src/render/texture/qtextureimagedata_p.h
index d9a0952de..14095e2eb 100644
--- a/src/render/texture/qtextureimagedata_p.h
+++ b/src/render/texture/qtextureimagedata_p.h
@@ -52,12 +52,13 @@
//
#include "qtextureimagedata.h"
+#include <Qt3DRender/private/qt3drender_global_p.h>
QT_BEGIN_NAMESPACE
namespace Qt3DRender {
-class QTextureImageDataPrivate
+class Q_3DRENDERSHARED_PRIVATE_EXPORT QTextureImageDataPrivate
{
public:
QTextureImageDataPrivate();
diff --git a/src/render/texture/texture.cpp b/src/render/texture/texture.cpp
index 795c5844e..dab037568 100644
--- a/src/render/texture/texture.cpp
+++ b/src/render/texture/texture.cpp
@@ -47,7 +47,7 @@
#include <Qt3DCore/qpropertynoderemovedchange.h>
#include <Qt3DRender/private/texture_p.h>
-#include <Qt3DRender/private/glresourcemanagers_p.h>
+#include <Qt3DRender/private/qabstracttexture_p.h>
#include <Qt3DRender/private/managers_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/render/texture/texture_p.h b/src/render/texture/texture_p.h
index 83a05ebcc..61011bb68 100644
--- a/src/render/texture/texture_p.h
+++ b/src/render/texture/texture_p.h
@@ -128,7 +128,7 @@ struct TextureParameters
* Will query the TextureImplManager for an instance of TextureImpl that matches it's
* properties.
*/
-class Q_AUTOTEST_EXPORT Texture : public BackendNode
+class Q_3DRENDERSHARED_PRIVATE_EXPORT Texture : public BackendNode
{
public:
Texture();
diff --git a/src/render/texture/texturedatamanager_p.h b/src/render/texture/texturedatamanager_p.h
new file mode 100644
index 000000000..61ebd1125
--- /dev/null
+++ b/src/render/texture/texturedatamanager_p.h
@@ -0,0 +1,227 @@
+/****************************************************************************
+**
+** Copyright (C) 2016 Klaralvdalens Datakonsult AB (KDAB).
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the Qt3D module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QT3DRENDER_RENDER_TEXTUREDATAMANAGER_H
+#define QT3DRENDER_RENDER_TEXTUREDATAMANAGER_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists for the convenience
+// of other Qt classes. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include <QMutex>
+#include <QMutexLocker>
+#include <Qt3DRender/qtexture.h>
+#include <Qt3DRender/qtextureimagedata.h>
+#include <Qt3DRender/qtexturegenerator.h>
+#include <Qt3DRender/qtextureimagedatagenerator.h>
+#include <Qt3DRender/private/qt3drender_global_p.h>
+
+QT_BEGIN_NAMESPACE
+
+namespace Qt3DRender {
+namespace Render {
+
+/**
+ * The texture data managers associates each texture data generator
+ * with the data objects generated by them. That is, either
+ *
+ * QTextureImageDataGenerator -> QTextureImageData, or
+ * QTextureGenerator -> QTextureData
+ *
+ * This way, texture classes only need to refer to the texture functors used.
+ * Aspect jobs will make sure that at the start of each frame, all generators
+ * registered with the GeneratorDataManagers have been executed.
+ *
+ * This guarantees that no texture data generator is executed twice.
+ *
+ * Each Generator is associated with a number of textures that reference it.
+ * If the last texture disassociates from a generator, the QTextureData will
+ * be deleted.
+ */
+template <class GeneratorPtr, class DataPtr, class ReferencedType>
+class GeneratorDataManager
+{
+public:
+ GeneratorDataManager() {}
+
+ /*!
+ * If no data for the given generator exists, make sure that the
+ * generators are executed the next frame. Reference generator by
+ * given texture
+ *
+ * Returns true if the Entry for a given generator had to be created
+ */
+ bool requestData(const GeneratorPtr &generator, ReferencedType r)
+ {
+ QMutexLocker lock(&m_mutex);
+
+ Entry *entry = findEntry(generator);
+ const bool needsToBeCreated = (entry == nullptr);
+ if (needsToBeCreated)
+ entry = createEntry(generator);
+ Q_ASSERT(entry);
+ if (!entry->referencingObjects.contains(r))
+ entry->referencingObjects.push_back(r);
+ return needsToBeCreated;
+ }
+
+ /*!
+ * Dereference given generator from texture. If no other textures still reference
+ * the generator, the associated data will be deleted
+ */
+ void releaseData(const GeneratorPtr &generator, ReferencedType r)
+ {
+ QMutexLocker lock(&m_mutex);
+
+ const auto end = m_data.end();
+ for (auto it = m_data.begin(); it != end; ++it) {
+ Entry &entry = *it;
+ if (*entry.generator == *generator) {
+ entry.referencingObjects.removeAll(r);
+ // delete, if that was the last reference
+ if (entry.referencingObjects.empty()) {
+ m_data.erase(it);
+ return;
+ }
+ }
+ }
+ }
+
+ /*!
+ * Return data associated with given generator, if existent
+ */
+ DataPtr getData(const GeneratorPtr &generator)
+ {
+ QMutexLocker lock(&m_mutex);
+
+ const Entry *entry = findEntry(generator);
+ return entry ? entry->data : DataPtr();
+ }
+
+ /*!
+ * Returns all generators that were not yet executed
+ */
+ QVector<GeneratorPtr> pendingGenerators()
+ {
+ QMutexLocker lock(&m_mutex);
+
+ QVector<GeneratorPtr> ret;
+ for (const Entry &entry : m_data)
+ if (!entry.data && !ret.contains(entry.generator))
+ ret.push_back(entry.generator);
+ return ret;
+ }
+
+ /*!
+ * Assigns a piece of data to the generator that was used to
+ * create it.
+ */
+ void assignData(const GeneratorPtr &generator, const DataPtr &data)
+ {
+ QMutexLocker lock(&m_mutex);
+
+ Entry *entry = findEntry(generator);
+ if (!entry) {
+ qWarning() << "[TextureDataManager] assignData() called with non-existent generator";
+ return;
+ }
+ entry->data = data;
+ }
+
+ bool contains(const GeneratorPtr &generator)
+ {
+ return findEntry(generator) != nullptr;
+ }
+
+private:
+
+ struct Entry {
+ GeneratorPtr generator;
+ QVector<ReferencedType> referencingObjects;
+ DataPtr data;
+ };
+
+ /*!
+ * Helper function: return entry for given generator if it exists, nullptr
+ * otherwise.
+ */
+ Entry* findEntry(const GeneratorPtr &generator)
+ {
+ for (int i = 0, sz = m_data.size(); i < sz; ++i)
+ if (*m_data[i].generator == *generator)
+ return &m_data[i];
+ return nullptr;
+ }
+
+ Entry *createEntry(const GeneratorPtr &generator)
+ {
+ Entry newEntry;
+ newEntry.generator = generator;
+
+ m_data.push_back(newEntry);
+ return &m_data.back();
+ }
+
+ QMutex m_mutex;
+ QVector<Entry> m_data;
+};
+
+class QT3DRENDERSHARED_PRIVATE_EXPORT TextureDataManager
+ : public GeneratorDataManager<QTextureGeneratorPtr, QTextureDataPtr, void*>
+{
+};
+
+class QT3DRENDERSHARED_PRIVATE_EXPORT TextureImageDataManager
+ : public GeneratorDataManager<QTextureImageDataGeneratorPtr, QTextureImageDataPtr, Qt3DCore::QNodeId>
+{
+};
+
+} // namespace Render
+} // namespace Qt3DRender
+
+QT_END_NAMESPACE
+
+#endif // TEXTUREDATAMANAGER_H
diff --git a/src/render/texture/textureimage_p.h b/src/render/texture/textureimage_p.h
index ced8f1ad2..42ef242a7 100644
--- a/src/render/texture/textureimage_p.h
+++ b/src/render/texture/textureimage_p.h
@@ -70,7 +70,7 @@ class TextureImageDataManager;
* Backend class for QAbstractTextureImage.
* Will only hold the generator and some info values.
*/
-class Q_AUTOTEST_EXPORT TextureImage : public BackendNode
+class Q_3DRENDERSHARED_PRIVATE_EXPORT TextureImage : public BackendNode
{
public:
TextureImage();
diff --git a/src/src.pro b/src/src.pro
index 0a3ed8cb7..047e67bf2 100644
--- a/src/src.pro
+++ b/src/src.pro
@@ -100,6 +100,11 @@ src_plugins_geometryloaders.file = $$PWD/plugins/geometryloaders/geometryloaders
src_plugins_geometryloaders.target = sub-plugins-geometryloaders
src_plugins_geometryloaders.depends = src_render src_extras
+# Qt3D Renderer plugins
+src_plugins_renderers.file = $$PWD/plugins/renderers/renderers.pro
+src_plugins_renderers.target = sub-plugins-renderers
+src_plugins_renderers.depends = src_render
+
qtHaveModule(quick) {
# Qt3D Render plugins
src_plugins_render.file = $$PWD/plugins/renderplugins/renderplugins.pro
@@ -114,7 +119,11 @@ include($$OUT_PWD/core/qt3dcore-config.pri)
qtConfig(qt3d-input): SUBDIRS += src_input
qtConfig(qt3d-logic): SUBDIRS += src_logic
-qtConfig(qt3d-render): SUBDIRS += src_render
+qtConfig(qt3d-render) {
+ SUBDIRS += \
+ src_render \
+ src_plugins_renderers
+}
qtConfig(qt3d-animation) {
SUBDIRS += src_animation
qtConfig(qt3d-input): SUBDIRS += src_doc
diff --git a/tests/auto/render/computecommand/tst_computecommand.cpp b/tests/auto/render/computecommand/tst_computecommand.cpp
index 4dc6b4436..d6fa1d579 100644
--- a/tests/auto/render/computecommand/tst_computecommand.cpp
+++ b/tests/auto/render/computecommand/tst_computecommand.cpp
@@ -31,7 +31,6 @@
#include <Qt3DRender/qcomputecommand.h>
#include <Qt3DRender/private/qcomputecommand_p.h>
#include <Qt3DRender/private/computecommand_p.h>
-#include <Qt3DRender/private/renderer_p.h>
#include <Qt3DRender/private/nodemanagers_p.h>
#include <Qt3DRender/private/managers_p.h>
#include <Qt3DCore/private/qbackendnode_p.h>
@@ -43,20 +42,6 @@
#include "testpostmanarbiter.h"
-// tst_Renderer is a friend class of Renderer
-class tst_Renderer : public Qt3DRender::Render::Renderer
-{
-public:
- tst_Renderer()
- : Qt3DRender::Render::Renderer(Qt3DRender::QRenderAspect::Synchronous)
- {}
-
- ~tst_Renderer() {
- shutdown();
- }
-};
-
-
class tst_ComputeCommand : public Qt3DCore::QBackendNodeTester
{
Q_OBJECT
@@ -271,80 +256,6 @@ private Q_SLOTS:
QCOMPARE(backendComputeCommand.hasReachedFrameCount(), false);
QCOMPARE(backendComputeCommand.frameCount(), 1);
}
-
- void checkDisablesFrontend()
- {
- // GIVEN
- Qt3DRender::Render::NodeManagers nodeManager;
- tst_Renderer renderer;
- TestArbiter arbiter;
-
- Qt3DCore::QAspectManager manager;
- Qt3DCore::QScene scene;
-
- Qt3DCore::QEntity rootEntity;
- Qt3DCore::QNodePrivate::get(&rootEntity)->setScene(&scene);
-
- Qt3DRender::QComputeCommand computeCommand;
- Qt3DRender::Render::ComputeCommand *backendComputeCommand = nullptr;
-
- renderer.setNodeManagers(&nodeManager);
-
- // WHEN
- computeCommand.setParent(&rootEntity);
- // RootEntity is the entry point to retrieve the scene instance for lookups
- manager.setRootEntity(&rootEntity, {});
-
- // THEN
- QVERIFY(scene.lookupNode(computeCommand.id()) != nullptr);
-
- // WHEN
- auto handle = nodeManager.computeJobManager()->getOrAcquireHandle(computeCommand.id());
- backendComputeCommand = nodeManager.computeJobManager()->data(handle);
-
- // WHEN
- computeCommand.setWorkGroupX(256);
- computeCommand.setWorkGroupY(512);
- computeCommand.setWorkGroupZ(128);
- computeCommand.setRunType(Qt3DRender::QComputeCommand::Manual);
- computeCommand.trigger(1);
-
- Qt3DCore::QBackendNodePrivate::get(backendComputeCommand)->setArbiter(&arbiter);
- backendComputeCommand->setRenderer(&renderer);
- simulateInitializationSync(&computeCommand, backendComputeCommand);
-
- // THEN
- QCOMPARE(backendComputeCommand->frameCount(),1);
- QCOMPARE(backendComputeCommand->isEnabled(), true);
- QCOMPARE(computeCommand.isEnabled(), true);
- QCOMPARE(backendComputeCommand->hasReachedFrameCount(), false);
-
- // WHEN
- backendComputeCommand->updateFrameCount();
-
- // THEN
- QCOMPARE(backendComputeCommand->frameCount(), 0);
- QCOMPARE(backendComputeCommand->hasReachedFrameCount(), true);
-
-
- // Still enabled as we have yet to notify the fronted
- QCOMPARE(backendComputeCommand->isEnabled(), true);
- QCOMPARE(computeCommand.isEnabled(), true);
-
- // WHEN
- renderer.jobsDone(&manager); // so Renderer::sendDisablesToFrontend gets called
-
- // THEN
- QCOMPARE(computeCommand.isEnabled(), false);
- QCOMPARE(backendComputeCommand->hasReachedFrameCount(), false);
-
- // WHEN
- backendComputeCommand->syncFromFrontEnd(&computeCommand, false);
-
- // THEN
- QCOMPARE(backendComputeCommand->frameCount(), 0);
- QCOMPARE(backendComputeCommand->isEnabled(), false);
- }
};
QTEST_MAIN(tst_ComputeCommand)
diff --git a/tests/auto/render/effect/tst_effect.cpp b/tests/auto/render/effect/tst_effect.cpp
index 369cdf793..2b145669e 100644
--- a/tests/auto/render/effect/tst_effect.cpp
+++ b/tests/auto/render/effect/tst_effect.cpp
@@ -33,7 +33,6 @@
#include <Qt3DRender/qparameter.h>
#include <Qt3DRender/private/qeffect_p.h>
#include <Qt3DRender/private/effect_p.h>
-#include <Qt3DRender/private/shaderparameterpack_p.h>
#include "qbackendnodetester.h"
#include "testrenderer.h"
diff --git a/tests/auto/render/layerfiltering/tst_layerfiltering.cpp b/tests/auto/render/layerfiltering/tst_layerfiltering.cpp
index 255ff5ea8..1ffec30ae 100644
--- a/tests/auto/render/layerfiltering/tst_layerfiltering.cpp
+++ b/tests/auto/render/layerfiltering/tst_layerfiltering.cpp
@@ -32,6 +32,7 @@
#include <Qt3DRender/private/managers_p.h>
#include <Qt3DRender/private/entity_p.h>
#include <Qt3DRender/private/filterlayerentityjob_p.h>
+#include <Qt3DRender/private/updateentitylayersjob_p.h>
#include <Qt3DRender/private/updatetreeenabledjob_p.h>
#include <Qt3DRender/qlayer.h>
#include <Qt3DRender/qlayerfilter.h>
diff --git a/tests/auto/render/opengl/computecommand/computecommand.pro b/tests/auto/render/opengl/computecommand/computecommand.pro
new file mode 100644
index 000000000..38515059a
--- /dev/null
+++ b/tests/auto/render/opengl/computecommand/computecommand.pro
@@ -0,0 +1,15 @@
+TEMPLATE = app
+
+TARGET = tst_computecommand
+
+QT += 3dcore 3dcore-private 3drender 3drender-private testlib
+
+CONFIG += testcase
+
+SOURCES += tst_computecommand.cpp
+
+include(../../../core/common/common.pri)
+include(../../commons/commons.pri)
+
+# Link Against OpenGL Renderer Plugin
+include(../opengl_render_plugin.pri)
diff --git a/tests/auto/render/opengl/computecommand/tst_computecommand.cpp b/tests/auto/render/opengl/computecommand/tst_computecommand.cpp
new file mode 100644
index 000000000..80cbfb090
--- /dev/null
+++ b/tests/auto/render/opengl/computecommand/tst_computecommand.cpp
@@ -0,0 +1,143 @@
+/****************************************************************************
+**
+** Copyright (C) 2016 Klaralvdalens Datakonsult AB (KDAB).
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the Qt3D module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:GPL-EXCEPT$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 as published by the Free Software
+** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+
+#include <QtTest/QTest>
+#include <Qt3DRender/qcomputecommand.h>
+#include <Qt3DRender/private/qcomputecommand_p.h>
+#include <Qt3DRender/private/computecommand_p.h>
+#include <Qt3DRender/private/nodemanagers_p.h>
+#include <Qt3DRender/private/managers_p.h>
+#include <Qt3DCore/private/qbackendnode_p.h>
+#include <Qt3DCore/private/qaspectmanager_p.h>
+#include <Qt3DCore/private/qscene_p.h>
+#include <Qt3DCore/qpropertyupdatedchange.h>
+#include <renderer_p.h>
+#include "qbackendnodetester.h"
+#include "testrenderer.h"
+#include "testpostmanarbiter.h"
+
+
+// tst_Renderer is a friend class of Renderer
+class tst_Renderer : public Qt3DRender::Render::Renderer
+{
+public:
+ tst_Renderer()
+ : Qt3DRender::Render::Renderer(Qt3DRender::QRenderAspect::Synchronous)
+ {}
+
+ ~tst_Renderer() {
+ shutdown();
+ }
+};
+
+
+class tst_ComputeCommand : public Qt3DCore::QBackendNodeTester
+{
+ Q_OBJECT
+
+private Q_SLOTS:
+
+ void checkDisablesFrontend()
+ {
+ // GIVEN
+ Qt3DRender::Render::NodeManagers nodeManager;
+ tst_Renderer renderer;
+ TestArbiter arbiter;
+
+ Qt3DCore::QAspectManager manager;
+ Qt3DCore::QScene scene;
+
+ Qt3DCore::QEntity rootEntity;
+ Qt3DCore::QNodePrivate::get(&rootEntity)->setScene(&scene);
+
+ Qt3DRender::QComputeCommand computeCommand;
+ Qt3DRender::Render::ComputeCommand *backendComputeCommand = nullptr;
+
+ renderer.setNodeManagers(&nodeManager);
+
+ // WHEN
+ computeCommand.setParent(&rootEntity);
+ // RootEntity is the entry point to retrieve the scene instance for lookups
+ manager.setRootEntity(&rootEntity, {});
+
+ // THEN
+ QVERIFY(scene.lookupNode(computeCommand.id()) != nullptr);
+
+ // WHEN
+ auto handle = nodeManager.computeJobManager()->getOrAcquireHandle(computeCommand.id());
+ backendComputeCommand = nodeManager.computeJobManager()->data(handle);
+
+ // WHEN
+ computeCommand.setWorkGroupX(256);
+ computeCommand.setWorkGroupY(512);
+ computeCommand.setWorkGroupZ(128);
+ computeCommand.setRunType(Qt3DRender::QComputeCommand::Manual);
+ computeCommand.trigger(1);
+
+ Qt3DCore::QBackendNodePrivate::get(backendComputeCommand)->setArbiter(&arbiter);
+ backendComputeCommand->setRenderer(&renderer);
+ simulateInitializationSync(&computeCommand, backendComputeCommand);
+
+ // THEN
+ QCOMPARE(backendComputeCommand->frameCount(),1);
+ QCOMPARE(backendComputeCommand->isEnabled(), true);
+ QCOMPARE(computeCommand.isEnabled(), true);
+ QCOMPARE(backendComputeCommand->hasReachedFrameCount(), false);
+
+ // WHEN
+ backendComputeCommand->updateFrameCount();
+
+ // THEN
+ QCOMPARE(backendComputeCommand->frameCount(), 0);
+ QCOMPARE(backendComputeCommand->hasReachedFrameCount(), true);
+
+
+ // Still enabled as we have yet to notify the fronted
+ QCOMPARE(backendComputeCommand->isEnabled(), true);
+ QCOMPARE(computeCommand.isEnabled(), true);
+
+ // WHEN
+ renderer.jobsDone(&manager); // so Renderer::sendDisablesToFrontend gets called
+
+ // THEN
+ QCOMPARE(computeCommand.isEnabled(), false);
+ QCOMPARE(backendComputeCommand->hasReachedFrameCount(), false);
+
+ // WHEN
+ backendComputeCommand->syncFromFrontEnd(&computeCommand, false);
+
+ // THEN
+ QCOMPARE(backendComputeCommand->frameCount(), 0);
+ QCOMPARE(backendComputeCommand->isEnabled(), false);
+ }
+};
+
+QTEST_MAIN(tst_ComputeCommand)
+
+#include "tst_computecommand.moc"
diff --git a/tests/auto/render/filtercompatibletechniquejob/BLACKLIST b/tests/auto/render/opengl/filtercompatibletechniquejob/BLACKLIST
index 7cbc7c4c0..7cbc7c4c0 100644
--- a/tests/auto/render/filtercompatibletechniquejob/BLACKLIST
+++ b/tests/auto/render/opengl/filtercompatibletechniquejob/BLACKLIST
diff --git a/tests/auto/render/filtercompatibletechniquejob/filtercompatibletechniquejob.pro b/tests/auto/render/opengl/filtercompatibletechniquejob/filtercompatibletechniquejob.pro
index 4f63e514b..5d533839c 100644
--- a/tests/auto/render/filtercompatibletechniquejob/filtercompatibletechniquejob.pro
+++ b/tests/auto/render/opengl/filtercompatibletechniquejob/filtercompatibletechniquejob.pro
@@ -8,5 +8,8 @@ CONFIG += testcase
SOURCES += tst_filtercompatibletechniquejob.cpp
-include(../../core/common/common.pri)
-include(../commons/commons.pri)
+include(../../../core/common/common.pri)
+include(../../commons/commons.pri)
+
+# Link Against OpenGL Renderer Plugin
+include(../opengl_render_plugin.pri)
diff --git a/tests/auto/render/filtercompatibletechniquejob/tst_filtercompatibletechniquejob.cpp b/tests/auto/render/opengl/filtercompatibletechniquejob/tst_filtercompatibletechniquejob.cpp
index 25262a772..19dae1c23 100644
--- a/tests/auto/render/filtercompatibletechniquejob/tst_filtercompatibletechniquejob.cpp
+++ b/tests/auto/render/opengl/filtercompatibletechniquejob/tst_filtercompatibletechniquejob.cpp
@@ -35,12 +35,12 @@
#include <Qt3DRender/qtechnique.h>
#include <Qt3DRender/qviewport.h>
#include <Qt3DRender/private/technique_p.h>
-#include <Qt3DRender/private/filtercompatibletechniquejob_p.h>
#include <Qt3DRender/private/nodemanagers_p.h>
-#include <Qt3DRender/private/renderer_p.h>
-#include <Qt3DRender/private/submissioncontext_p.h>
#include <Qt3DRender/private/qrenderaspect_p.h>
#include <Qt3DRender/private/techniquemanager_p.h>
+#include <renderer_p.h>
+#include <submissioncontext_p.h>
+#include <filtercompatibletechniquejob_p.h>
QT_BEGIN_NAMESPACE
diff --git a/tests/auto/render/glshadermanager/glshadermanager.pro b/tests/auto/render/opengl/glshadermanager/glshadermanager.pro
index 27aadf84f..dc96ab3bb 100644
--- a/tests/auto/render/glshadermanager/glshadermanager.pro
+++ b/tests/auto/render/opengl/glshadermanager/glshadermanager.pro
@@ -8,5 +8,8 @@ CONFIG += testcase
SOURCES += tst_glshadermanager.cpp
-include(../../core/common/common.pri)
-include(../commons/commons.pri)
+include(../../../core/common/common.pri)
+include(../../commons/commons.pri)
+
+# Link Against OpenGL Renderer Plugin
+include(../opengl_render_plugin.pri)
diff --git a/tests/auto/render/glshadermanager/tst_glshadermanager.cpp b/tests/auto/render/opengl/glshadermanager/tst_glshadermanager.cpp
index c18fb4793..83420af3b 100644
--- a/tests/auto/render/glshadermanager/tst_glshadermanager.cpp
+++ b/tests/auto/render/opengl/glshadermanager/tst_glshadermanager.cpp
@@ -27,7 +27,7 @@
****************************************************************************/
#include <QtTest/QTest>
-#include <Qt3DRender/private/glresourcemanagers_p.h>
+#include <glresourcemanagers_p.h>
#include <Qt3DCore/qnodeid.h>
#include "qbackendnodetester.h"
#include "testrenderer.h"
diff --git a/tests/auto/render/graphicshelpergl2/graphicshelpergl2.pro b/tests/auto/render/opengl/graphicshelpergl2/graphicshelpergl2.pro
index b27060635..eb8ba7f04 100644
--- a/tests/auto/render/graphicshelpergl2/graphicshelpergl2.pro
+++ b/tests/auto/render/opengl/graphicshelpergl2/graphicshelpergl2.pro
@@ -9,5 +9,8 @@ CONFIG += testcase
SOURCES += \
tst_graphicshelpergl2.cpp
-include(../../core/common/common.pri)
-include(../commons/commons.pri)
+include(../../../core/common/common.pri)
+include(../../commons/commons.pri)
+
+# Link Against OpenGL Renderer Plugin
+include(../opengl_render_plugin.pri)
diff --git a/tests/auto/render/graphicshelpergl2/tst_graphicshelpergl2.cpp b/tests/auto/render/opengl/graphicshelpergl2/tst_graphicshelpergl2.cpp
index ffafc2312..0a43a3040 100644
--- a/tests/auto/render/graphicshelpergl2/tst_graphicshelpergl2.cpp
+++ b/tests/auto/render/opengl/graphicshelpergl2/tst_graphicshelpergl2.cpp
@@ -29,7 +29,7 @@
#include <QtTest/QTest>
#include <Qt3DRender/qrendertargetoutput.h>
#include <Qt3DRender/private/uniform_p.h>
-#include <Qt3DRender/private/graphicshelpergl2_p.h>
+#include <graphicshelpergl2_p.h>
#include <Qt3DRender/private/attachmentpack_p.h>
#include <QtOpenGLExtensions/QOpenGLExtensions>
#include <QOpenGLContext>
diff --git a/tests/auto/render/graphicshelpergl3_2/graphicshelpergl3_2.pro b/tests/auto/render/opengl/graphicshelpergl3_2/graphicshelpergl3_2.pro
index 5d8bf60fd..a613f1279 100644
--- a/tests/auto/render/graphicshelpergl3_2/graphicshelpergl3_2.pro
+++ b/tests/auto/render/opengl/graphicshelpergl3_2/graphicshelpergl3_2.pro
@@ -9,5 +9,8 @@ CONFIG += testcase
SOURCES += \
tst_graphicshelpergl3_2.cpp
-include(../../core/common/common.pri)
-include(../commons/commons.pri)
+include(../../../core/common/common.pri)
+include(../../commons/commons.pri)
+
+# Link Against OpenGL Renderer Plugin
+include(../opengl_render_plugin.pri)
diff --git a/tests/auto/render/graphicshelpergl3_2/tst_graphicshelpergl3_2.cpp b/tests/auto/render/opengl/graphicshelpergl3_2/tst_graphicshelpergl3_2.cpp
index 840a7f6da..a4a59d7c4 100644
--- a/tests/auto/render/graphicshelpergl3_2/tst_graphicshelpergl3_2.cpp
+++ b/tests/auto/render/opengl/graphicshelpergl3_2/tst_graphicshelpergl3_2.cpp
@@ -29,7 +29,7 @@
#include <QtTest/QTest>
#include <Qt3DRender/qrendertargetoutput.h>
#include <Qt3DRender/private/uniform_p.h>
-#include <Qt3DRender/private/graphicshelpergl3_2_p.h>
+#include <graphicshelpergl3_2_p.h>
#include <Qt3DRender/private/attachmentpack_p.h>
#include <QOpenGLBuffer>
#include <QOpenGLFunctions_3_2_Core>
diff --git a/tests/auto/render/graphicshelpergl3_3/graphicshelpergl3_3.pro b/tests/auto/render/opengl/graphicshelpergl3_3/graphicshelpergl3_3.pro
index 36bda15b2..5ef0b6806 100644
--- a/tests/auto/render/graphicshelpergl3_3/graphicshelpergl3_3.pro
+++ b/tests/auto/render/opengl/graphicshelpergl3_3/graphicshelpergl3_3.pro
@@ -9,5 +9,8 @@ CONFIG += testcase
SOURCES += \
tst_graphicshelpergl3_3.cpp
-include(../../core/common/common.pri)
-include(../commons/commons.pri)
+include(../../../core/common/common.pri)
+include(../../commons/commons.pri)
+
+# Link Against OpenGL Renderer Plugin
+include(../opengl_render_plugin.pri)
diff --git a/tests/auto/render/graphicshelpergl3_3/tst_graphicshelpergl3_3.cpp b/tests/auto/render/opengl/graphicshelpergl3_3/tst_graphicshelpergl3_3.cpp
index 874c83f0b..3e4a052ba 100644
--- a/tests/auto/render/graphicshelpergl3_3/tst_graphicshelpergl3_3.cpp
+++ b/tests/auto/render/opengl/graphicshelpergl3_3/tst_graphicshelpergl3_3.cpp
@@ -29,8 +29,8 @@
#include <QtTest/QTest>
#include <Qt3DRender/qrendertargetoutput.h>
#include <Qt3DRender/private/uniform_p.h>
-#include <Qt3DRender/private/graphicshelpergl3_3_p.h>
#include <Qt3DRender/private/attachmentpack_p.h>
+#include <graphicshelpergl3_3_p.h>
#include <QOpenGLBuffer>
#include <QOpenGLFunctions_3_3_Core>
#include <QOpenGLShaderProgram>
diff --git a/tests/auto/render/graphicshelpergl4/graphicshelpergl4.pro b/tests/auto/render/opengl/graphicshelpergl4/graphicshelpergl4.pro
index b20d1afec..5ea881208 100644
--- a/tests/auto/render/graphicshelpergl4/graphicshelpergl4.pro
+++ b/tests/auto/render/opengl/graphicshelpergl4/graphicshelpergl4.pro
@@ -9,5 +9,8 @@ CONFIG += testcase
SOURCES += \
tst_graphicshelpergl4.cpp
-include(../../core/common/common.pri)
-include(../commons/commons.pri)
+include(../../../core/common/common.pri)
+include(../../commons/commons.pri)
+
+# Link Against OpenGL Renderer Plugin
+include(../opengl_render_plugin.pri)
diff --git a/tests/auto/render/graphicshelpergl4/tst_graphicshelpergl4.cpp b/tests/auto/render/opengl/graphicshelpergl4/tst_graphicshelpergl4.cpp
index 6e5c54303..31024e1db 100644
--- a/tests/auto/render/graphicshelpergl4/tst_graphicshelpergl4.cpp
+++ b/tests/auto/render/opengl/graphicshelpergl4/tst_graphicshelpergl4.cpp
@@ -29,8 +29,8 @@
#include <QtTest/QTest>
#include <Qt3DRender/qrendertargetoutput.h>
#include <Qt3DRender/private/uniform_p.h>
-#include <Qt3DRender/private/graphicshelpergl4_p.h>
#include <Qt3DRender/private/attachmentpack_p.h>
+#include <graphicshelpergl4_p.h>
#include <QOpenGLBuffer>
#include <QOpenGLFunctions_4_3_Core>
#include <QOpenGLShaderProgram>
diff --git a/tests/auto/render/materialparametergathererjob/materialparametergathererjob.pro b/tests/auto/render/opengl/materialparametergathererjob/materialparametergathererjob.pro
index ac68b8248..106e7a263 100644
--- a/tests/auto/render/materialparametergathererjob/materialparametergathererjob.pro
+++ b/tests/auto/render/opengl/materialparametergathererjob/materialparametergathererjob.pro
@@ -8,4 +8,7 @@ CONFIG += testcase
SOURCES += tst_materialparametergathererjob.cpp
-include(../commons/commons.pri)
+include(../../commons/commons.pri)
+
+# Link Against OpenGL Renderer Plugin
+include(../opengl_render_plugin.pri)
diff --git a/tests/auto/render/materialparametergathererjob/tst_materialparametergathererjob.cpp b/tests/auto/render/opengl/materialparametergathererjob/tst_materialparametergathererjob.cpp
index 236faa8f0..e6b78c47b 100644
--- a/tests/auto/render/materialparametergathererjob/tst_materialparametergathererjob.cpp
+++ b/tests/auto/render/opengl/materialparametergathererjob/tst_materialparametergathererjob.cpp
@@ -36,16 +36,18 @@
#include <Qt3DRender/private/nodemanagers_p.h>
#include <Qt3DRender/private/managers_p.h>
#include <Qt3DRender/private/entity_p.h>
-#include <Qt3DRender/private/materialparametergathererjob_p.h>
+#include <materialparametergathererjob_p.h>
#include <Qt3DRender/private/techniquefilternode_p.h>
#include <Qt3DRender/private/technique_p.h>
#include <Qt3DRender/private/techniquemanager_p.h>
#include <Qt3DRender/private/renderpassfilternode_p.h>
+#include <Qt3DRender/qrendersettings.h>
#include <Qt3DRender/qrenderaspect.h>
#include <Qt3DRender/qeffect.h>
#include <Qt3DRender/qmaterial.h>
#include <Qt3DRender/qparameter.h>
#include <Qt3DRender/qtechniquefilter.h>
+#include <Qt3DRender/qtechnique.h>
#include <Qt3DRender/qrenderpassfilter.h>
#include <Qt3DRender/qrenderpass.h>
#include <Qt3DRender/qshaderprogram.h>
diff --git a/tests/auto/render/opengl/opengl.pro b/tests/auto/render/opengl/opengl.pro
new file mode 100644
index 000000000..5299ebd36
--- /dev/null
+++ b/tests/auto/render/opengl/opengl.pro
@@ -0,0 +1,19 @@
+TEMPLATE = subdirs
+
+SUBDIRS += \
+ filtercompatibletechniquejob \
+ graphicshelpergl3_3 \
+ graphicshelpergl3_2 \
+ graphicshelpergl2 \
+ glshadermanager \
+ materialparametergathererjob \
+ textures \
+ renderer \
+ renderviewutils \
+ renderviews \
+ renderqueue \
+ renderviewbuilder \
+ qgraphicsutils \
+ computecommand
+
+!macos: SUBDIRS += graphicshelpergl4
diff --git a/tests/auto/render/opengl/opengl_render_plugin.pri b/tests/auto/render/opengl/opengl_render_plugin.pri
new file mode 100644
index 000000000..aa392ee5e
--- /dev/null
+++ b/tests/auto/render/opengl/opengl_render_plugin.pri
@@ -0,0 +1,12 @@
+PLUGIN_SRC_PATH = $$PWD/../../../../src/plugins/renderers/opengl
+
+INCLUDEPATH += \
+ $$PLUGIN_SRC_PATH/graphicshelpers \
+ $$PLUGIN_SRC_PATH/io \
+ $$PLUGIN_SRC_PATH/jobs \
+ $$PLUGIN_SRC_PATH/managers \
+ $$PLUGIN_SRC_PATH/renderer \
+ $$PLUGIN_SRC_PATH/renderstates \
+ $$PLUGIN_SRC_PATH/textures
+
+LIBS += -L$$[QT_INSTALL_PLUGINS]/renderers/ -lopenglrenderer
diff --git a/tests/auto/render/qgraphicsutils/qgraphicsutils.pro b/tests/auto/render/opengl/qgraphicsutils/qgraphicsutils.pro
index 031a26246..8c936c527 100644
--- a/tests/auto/render/qgraphicsutils/qgraphicsutils.pro
+++ b/tests/auto/render/opengl/qgraphicsutils/qgraphicsutils.pro
@@ -7,3 +7,6 @@ QT += 3dcore 3dcore-private 3drender 3drender-private testlib
CONFIG += testcase
SOURCES += tst_qgraphicsutils.cpp
+
+# Link Against OpenGL Renderer Plugin
+include(../opengl_render_plugin.pri)
diff --git a/tests/auto/render/qgraphicsutils/tst_qgraphicsutils.cpp b/tests/auto/render/opengl/qgraphicsutils/tst_qgraphicsutils.cpp
index e3676ad3b..2e0dd0f96 100644
--- a/tests/auto/render/qgraphicsutils/tst_qgraphicsutils.cpp
+++ b/tests/auto/render/opengl/qgraphicsutils/tst_qgraphicsutils.cpp
@@ -27,7 +27,7 @@
****************************************************************************/
#include <QtTest/QtTest>
-#include <private/qgraphicsutils_p.h>
+#include <qgraphicsutils_p.h>
class tst_QGraphicsUtils : public QObject
{
diff --git a/tests/auto/render/renderer/renderer.pro b/tests/auto/render/opengl/renderer/renderer.pro
index cbafc156b..d481c7b9e 100644
--- a/tests/auto/render/renderer/renderer.pro
+++ b/tests/auto/render/opengl/renderer/renderer.pro
@@ -7,3 +7,6 @@ QT += 3dcore 3dcore-private 3drender 3drender-private testlib
CONFIG += testcase
SOURCES += tst_renderer.cpp
+
+# Link Against OpenGL Renderer Plugin
+include(../opengl_render_plugin.pri)
diff --git a/tests/auto/render/renderer/tst_renderer.cpp b/tests/auto/render/opengl/renderer/tst_renderer.cpp
index 0cbc1aefc..6aed6ed5f 100644
--- a/tests/auto/render/renderer/tst_renderer.cpp
+++ b/tests/auto/render/opengl/renderer/tst_renderer.cpp
@@ -30,13 +30,12 @@
#include <QMutex>
#include <QWaitCondition>
#include <QThread>
-#include <Qt3DRender/private/renderer_p.h>
#include <Qt3DRender/private/viewportnode_p.h>
-#include <Qt3DRender/private/renderview_p.h>
-#include <Qt3DRender/private/renderviewbuilder_p.h>
+#include <renderer_p.h>
+#include <renderview_p.h>
+#include <renderviewbuilder_p.h>
#include <Qt3DRender/private/offscreensurfacehelper_p.h>
-#include <Qt3DRender/private/renderqueue_p.h>
-#include <Qt3DRender/private/job_common_p.h>
+#include <renderqueue_p.h>
class tst_Renderer : public QObject
{
diff --git a/tests/auto/render/renderqueue/renderqueue.pro b/tests/auto/render/opengl/renderqueue/renderqueue.pro
index 945fe4cf4..19106ba92 100644
--- a/tests/auto/render/renderqueue/renderqueue.pro
+++ b/tests/auto/render/opengl/renderqueue/renderqueue.pro
@@ -8,4 +8,7 @@ CONFIG += testcase
SOURCES += tst_renderqueue.cpp
-include(../../core/common/common.pri)
+include(../../../core/common/common.pri)
+
+# Link Against OpenGL Renderer Plugin
+include(../opengl_render_plugin.pri)
diff --git a/tests/auto/render/renderqueue/tst_renderqueue.cpp b/tests/auto/render/opengl/renderqueue/tst_renderqueue.cpp
index 071f9b3a5..2be089495 100644
--- a/tests/auto/render/renderqueue/tst_renderqueue.cpp
+++ b/tests/auto/render/opengl/renderqueue/tst_renderqueue.cpp
@@ -30,8 +30,8 @@
#include <QMutex>
#include <QWaitCondition>
#include <QThread>
-#include <Qt3DRender/private/renderqueue_p.h>
-#include <Qt3DRender/private/renderview_p.h>
+#include <renderqueue_p.h>
+#include <renderview_p.h>
class tst_RenderQueue : public QObject
{
diff --git a/tests/auto/render/renderviewbuilder/renderviewbuilder.pro b/tests/auto/render/opengl/renderviewbuilder/renderviewbuilder.pro
index 00fdd49cf..b7b8f5b81 100644
--- a/tests/auto/render/renderviewbuilder/renderviewbuilder.pro
+++ b/tests/auto/render/opengl/renderviewbuilder/renderviewbuilder.pro
@@ -8,5 +8,8 @@ CONFIG += testcase
SOURCES += tst_renderviewbuilder.cpp
-include(../../core/common/common.pri)
-include(../commons/commons.pri)
+include(../../../core/common/common.pri)
+include(../../commons/commons.pri)
+
+# Link Against OpenGL Renderer Plugin
+include(../opengl_render_plugin.pri)
diff --git a/tests/auto/render/renderviewbuilder/tst_renderviewbuilder.cpp b/tests/auto/render/opengl/renderviewbuilder/tst_renderviewbuilder.cpp
index 6024084bd..6dc463589 100644
--- a/tests/auto/render/renderviewbuilder/tst_renderviewbuilder.cpp
+++ b/tests/auto/render/opengl/renderviewbuilder/tst_renderviewbuilder.cpp
@@ -31,7 +31,7 @@
#include <Qt3DCore/private/qnodevisitor_p.h>
#include <Qt3DCore/private/qnode_p.h>
-#include <Qt3DRender/private/renderviewbuilder_p.h>
+#include <renderviewbuilder_p.h>
#include <Qt3DRender/private/qrenderaspect_p.h>
#include <Qt3DRender/qviewport.h>
#include <Qt3DRender/qclearbuffers.h>
diff --git a/tests/auto/render/renderviews/renderviews.pro b/tests/auto/render/opengl/renderviews/renderviews.pro
index 046c00696..7efbaec14 100644
--- a/tests/auto/render/renderviews/renderviews.pro
+++ b/tests/auto/render/opengl/renderviews/renderviews.pro
@@ -8,5 +8,8 @@ CONFIG += testcase
SOURCES += tst_renderviews.cpp
-include(../../core/common/common.pri)
-include(../commons/commons.pri)
+include(../../../core/common/common.pri)
+include(../../commons/commons.pri)
+
+# Link Against OpenGL Renderer Plugin
+include(../opengl_render_plugin.pri)
diff --git a/tests/auto/render/renderviews/tst_renderviews.cpp b/tests/auto/render/opengl/renderviews/tst_renderviews.cpp
index dca75e418..4fef3118b 100644
--- a/tests/auto/render/renderviews/tst_renderviews.cpp
+++ b/tests/auto/render/opengl/renderviews/tst_renderviews.cpp
@@ -28,17 +28,19 @@
#include <QtTest/QTest>
#include <qbackendnodetester.h>
-#include <private/renderview_p.h>
#include <private/qframeallocator_p.h>
#include <private/qframeallocator_p_p.h>
#include <private/memorybarrier_p.h>
-#include <private/renderviewjobutils_p.h>
-#include <private/rendercommand_p.h>
#include <testpostmanarbiter.h>
#include <testrenderer.h>
#include <private/shader_p.h>
-#include <private/glresourcemanagers_p.h>
#include <Qt3DRender/qshaderprogram.h>
+#include <renderview_p.h>
+#include <renderviewjobutils_p.h>
+#include <rendercommand_p.h>
+#include <renderer_p.h>
+#include <glresourcemanagers_p.h>
+#include <private/shader_p.h>
QT_BEGIN_NAMESPACE
diff --git a/tests/auto/render/renderviewutils/renderviewutils.pro b/tests/auto/render/opengl/renderviewutils/renderviewutils.pro
index 90d8a2562..e9c9f8d51 100644
--- a/tests/auto/render/renderviewutils/renderviewutils.pro
+++ b/tests/auto/render/opengl/renderviewutils/renderviewutils.pro
@@ -8,5 +8,8 @@ CONFIG += testcase
SOURCES += tst_renderviewutils.cpp
-include(../../core/common/common.pri)
-include(../commons/commons.pri)
+include(../../../core/common/common.pri)
+include(../../commons/commons.pri)
+
+# Link Against OpenGL Renderer Plugin
+include(../opengl_render_plugin.pri)
diff --git a/tests/auto/render/renderviewutils/tst_renderviewutils.cpp b/tests/auto/render/opengl/renderviewutils/tst_renderviewutils.cpp
index 6d349f994..8a345d840 100644
--- a/tests/auto/render/renderviewutils/tst_renderviewutils.cpp
+++ b/tests/auto/render/opengl/renderviewutils/tst_renderviewutils.cpp
@@ -29,7 +29,8 @@
#include <QtTest/QTest>
#include <qbackendnodetester.h>
#include <Qt3DCore/qdynamicpropertyupdatedchange.h>
-#include <Qt3DRender/private/renderviewjobutils_p.h>
+#include <renderviewjobutils_p.h>
+#include <shadervariables_p.h>
#include <Qt3DRender/private/shaderdata_p.h>
#include <Qt3DRender/private/managers_p.h>
#include <Qt3DRender/private/stringtoint_p.h>
diff --git a/tests/auto/render/textures/textures.pro b/tests/auto/render/opengl/textures/textures.pro
index 8a7553a54..a116756af 100644
--- a/tests/auto/render/textures/textures.pro
+++ b/tests/auto/render/opengl/textures/textures.pro
@@ -8,5 +8,8 @@ CONFIG += testcase
SOURCES += tst_textures.cpp
-include(../../core/common/common.pri)
-include(../commons/commons.pri)
+include(../../../core/common/common.pri)
+include(../../commons/commons.pri)
+
+# Link Against OpenGL Renderer Plugin
+include(../opengl_render_plugin.pri)
diff --git a/tests/auto/render/textures/tst_textures.cpp b/tests/auto/render/opengl/textures/tst_textures.cpp
index fc0bd2543..bc32f9325 100644
--- a/tests/auto/render/textures/tst_textures.cpp
+++ b/tests/auto/render/opengl/textures/tst_textures.cpp
@@ -33,13 +33,13 @@
#include <Qt3DRender/qtextureimage.h>
#include <Qt3DRender/qtexturedata.h>
-#include <Qt3DRender/private/renderer_p.h>
-#include <Qt3DRender/private/glresourcemanagers_p.h>
+#include <renderer_p.h>
+#include <glresourcemanagers_p.h>
+#include <gltexture_p.h>
#include <Qt3DRender/private/texture_p.h>
#include <Qt3DRender/private/textureimage_p.h>
#include <Qt3DRender/private/nodemanagers_p.h>
#include <Qt3DRender/private/managers_p.h>
-#include <Qt3DRender/private/gltexture_p.h>
#include <Qt3DRender/private/qtexture_p.h>
#include <testrenderer.h>
diff --git a/tests/auto/render/pickboundingvolumejob/tst_pickboundingvolumejob.cpp b/tests/auto/render/pickboundingvolumejob/tst_pickboundingvolumejob.cpp
index 5191b1a36..f1587c27c 100644
--- a/tests/auto/render/pickboundingvolumejob/tst_pickboundingvolumejob.cpp
+++ b/tests/auto/render/pickboundingvolumejob/tst_pickboundingvolumejob.cpp
@@ -45,10 +45,12 @@
#include <Qt3DRender/QNoPicking>
#include <Qt3DRender/QPickEvent>
#include <Qt3DRender/QPickTriangleEvent>
+#include <Qt3DRender/QPickingSettings>
#include <Qt3DRender/private/nodemanagers_p.h>
#include <Qt3DRender/private/managers_p.h>
#include <Qt3DRender/private/entity_p.h>
#include <Qt3DRender/qrenderaspect.h>
+#include <Qt3DRender/private/rendersettings_p.h>
#include <Qt3DRender/private/qrenderaspect_p.h>
#include <Qt3DRender/private/pickboundingvolumejob_p.h>
#include <Qt3DRender/private/pickboundingvolumeutils_p.h>
diff --git a/tests/auto/render/proximityfiltering/tst_proximityfiltering.cpp b/tests/auto/render/proximityfiltering/tst_proximityfiltering.cpp
index 1b65388af..51b59bffc 100644
--- a/tests/auto/render/proximityfiltering/tst_proximityfiltering.cpp
+++ b/tests/auto/render/proximityfiltering/tst_proximityfiltering.cpp
@@ -38,6 +38,10 @@
#include <Qt3DRender/private/entity_p.h>
#include <Qt3DRender/private/filterproximitydistancejob_p.h>
#include <Qt3DRender/private/updatetreeenabledjob_p.h>
+#include <Qt3DRender/private/updateworldtransformjob_p.h>
+#include <Qt3DRender/private/updateworldboundingvolumejob_p.h>
+#include <Qt3DRender/private/calcboundingvolumejob_p.h>
+#include <Qt3DRender/private/expandboundingvolumejob_p.h>
#include <Qt3DRender/qproximityfilter.h>
#include "testaspect.h"
diff --git a/tests/auto/render/qcamera/tst_qcamera.cpp b/tests/auto/render/qcamera/tst_qcamera.cpp
index 0dcbce63f..fae8aa14e 100644
--- a/tests/auto/render/qcamera/tst_qcamera.cpp
+++ b/tests/auto/render/qcamera/tst_qcamera.cpp
@@ -49,6 +49,7 @@
#include <Qt3DRender/private/nodemanagers_p.h>
#include <Qt3DRender/private/transform_p.h>
#include <Qt3DRender/private/qrenderaspect_p.h>
+#include <Qt3DRender/private/updateworldtransformjob_p.h>
QT_BEGIN_NAMESPACE
diff --git a/tests/auto/render/raycastingjob/tst_raycastingjob.cpp b/tests/auto/render/raycastingjob/tst_raycastingjob.cpp
index 1ff899936..daec0b86c 100644
--- a/tests/auto/render/raycastingjob/tst_raycastingjob.cpp
+++ b/tests/auto/render/raycastingjob/tst_raycastingjob.cpp
@@ -38,6 +38,7 @@
#include <Qt3DCore/private/qaspectmanager_p.h>
#include <Qt3DCore/private/qscene_p.h>
#include <Qt3DCore/private/qaspectengine_p.h>
+#include <Qt3DCore/private/qaspectjob_p.h>
#include <QtQuick/qquickwindow.h>
#include <Qt3DRender/QCamera>
diff --git a/tests/auto/render/render.pro b/tests/auto/render/render.pro
index 2b73ec8b7..14fc74883 100644
--- a/tests/auto/render/render.pro
+++ b/tests/auto/render/render.pro
@@ -4,7 +4,6 @@ qtConfig(private_tests) {
SUBDIRS += \
entity \
renderpass \
- qgraphicsutils \
shader \
shaderbuilder \
texture \
@@ -125,19 +124,8 @@ QT_FOR_CONFIG += 3drender-private
qtConfig(qt3d-opengl-renderer):qtConfig(private_tests) {
SUBDIRS += \
- filtercompatibletechniquejob \
- graphicshelpergl3_3 \
- graphicshelpergl3_2 \
- graphicshelpergl2 \
- glshadermanager \
- materialparametergathererjob \
- textures \
- renderer \
- renderviewutils \
- renderviews \
- renderqueue \
- renderviewbuilder \
- gltexture
+ opengl \
+ scene2d
qtConfig(qt3d-extras) {
SUBDIRS += \
@@ -158,8 +146,6 @@ qtConfig(qt3d-opengl-renderer):qtConfig(private_tests) {
scene2d
}
- !macos: SUBDIRS += graphicshelpergl4
-
qtConfig(qt3d-simd-avx2): SUBDIRS += alignedresourcesmanagers-avx
qtConfig(qt3d-simd-sse2):!qtConfig(qt3d-simd-avx2): SUBDIRS += alignedresourcesmanagers-sse
}
diff --git a/tests/auto/render/technique/tst_technique.cpp b/tests/auto/render/technique/tst_technique.cpp
index 5b6fdb4a4..b36d00fee 100644
--- a/tests/auto/render/technique/tst_technique.cpp
+++ b/tests/auto/render/technique/tst_technique.cpp
@@ -34,7 +34,6 @@
#include <Qt3DRender/qrenderpass.h>
#include <Qt3DRender/private/qtechnique_p.h>
#include <Qt3DRender/private/technique_p.h>
-#include <Qt3DRender/private/shaderparameterpack_p.h>
#include <Qt3DRender/private/nodemanagers_p.h>
#include <Qt3DRender/private/managers_p.h>
#include <Qt3DRender/private/filterkey_p.h>
diff --git a/tests/auto/render/trianglesextractor/tst_trianglesextractor.cpp b/tests/auto/render/trianglesextractor/tst_trianglesextractor.cpp
index 287a17b84..24d7ff643 100644
--- a/tests/auto/render/trianglesextractor/tst_trianglesextractor.cpp
+++ b/tests/auto/render/trianglesextractor/tst_trianglesextractor.cpp
@@ -30,7 +30,6 @@
#include <Qt3DRender/private/shader_p.h>
#include <Qt3DRender/qshaderprogram.h>
#include <Qt3DRender/private/nodemanagers_p.h>
-#include <Qt3DRender/private/renderer_p.h>
#include <Qt3DRender/private/qrenderaspect_p.h>
#include <Qt3DRender/qrenderaspect.h>
#include <Qt3DRender/private/geometryrenderermanager_p.h>
diff --git a/tests/benchmarks/render/jobs/jobs.pro b/tests/benchmarks/render/jobs/jobs.pro
index bfd0f1317..71b0ef409 100644
--- a/tests/benchmarks/render/jobs/jobs.pro
+++ b/tests/benchmarks/render/jobs/jobs.pro
@@ -7,3 +7,7 @@ QT += testlib core core-private 3dcore 3dcore-private 3drender 3drender-private
SOURCES += tst_bench_jobs.cpp
DEFINES += QT3D_RENDER_UNIT_TESTS
+DEFINES += QT_BUILD_INTERNAL
+
+# Link Against OpenGL Renderer Plugin
+include(../../../auto/render/opengl/opengl_render_plugin.pri)
diff --git a/tests/benchmarks/render/jobs/tst_bench_jobs.cpp b/tests/benchmarks/render/jobs/tst_bench_jobs.cpp
index b611f3cdc..87689e46c 100644
--- a/tests/benchmarks/render/jobs/tst_bench_jobs.cpp
+++ b/tests/benchmarks/render/jobs/tst_bench_jobs.cpp
@@ -41,7 +41,6 @@
#include <Qt3DRender/qcamera.h>
#include <Qt3DRender/qrenderaspect.h>
#include <Qt3DRender/private/qrenderaspect_p.h>
-#include <Qt3DRender/private/renderer_p.h>
#include <Qt3DRender/private/nodemanagers_p.h>
#include <Qt3DRender/private/updateworldtransformjob_p.h>
#include <Qt3DQuick/QQmlAspectEngine>
@@ -50,6 +49,7 @@
#include <Qt3DCore/private/qaspectmanager_p.h>
#include <Qt3DCore/private/qnodevisitor_p.h>
#include <Qt3DCore/private/qnode_p.h>
+#include <renderer_p.h>
#include <QQmlComponent>
#include <QScopedPointer>
diff --git a/tests/benchmarks/render/materialparametergathering/materialparametergathering.pro b/tests/benchmarks/render/materialparametergathering/materialparametergathering.pro
index e227a08a0..a20372163 100644
--- a/tests/benchmarks/render/materialparametergathering/materialparametergathering.pro
+++ b/tests/benchmarks/render/materialparametergathering/materialparametergathering.pro
@@ -12,3 +12,6 @@ include(../../../auto/render/commons/commons.pri)
# Needed to use the TestAspect
DEFINES += QT_BUILD_INTERNAL
+
+# Link Against OpenGL Renderer Plugin
+include(../../../auto/render/opengl/opengl_render_plugin.pri)
diff --git a/tests/benchmarks/render/materialparametergathering/tst_bench_materialparametergathering.cpp b/tests/benchmarks/render/materialparametergathering/tst_bench_materialparametergathering.cpp
index 210d82dcf..644c4d74c 100644
--- a/tests/benchmarks/render/materialparametergathering/tst_bench_materialparametergathering.cpp
+++ b/tests/benchmarks/render/materialparametergathering/tst_bench_materialparametergathering.cpp
@@ -37,7 +37,7 @@
#include <Qt3DRender/private/entity_p.h>
#include <Qt3DRender/qrenderaspect.h>
#include <Qt3DRender/private/qrenderaspect_p.h>
-#include <Qt3DRender/private/materialparametergathererjob_p.h>
+#include <materialparametergathererjob_p.h>
#include <Qt3DRender/private/technique_p.h>
#include <Qt3DRender/private/techniquemanager_p.h>
#include <Qt3DExtras/qphongmaterial.h>