summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSean Harmer <sean.harmer@kdab.com>2015-09-18 14:13:26 +0100
committerPaul Lemire <paul.lemire@kdab.com>2015-10-13 12:12:52 +0000
commit9847869acceedab58db4862ebeebb74016eaaf23 (patch)
tree87bfd89663e23335c61fac03501d666cb4812eac
parentb1810f91ee5eaa3ae9e79efde6b4a0335738c3e8 (diff)
Move render state classes into own dir and tidy up
Change-Id: I0829c42283d6a25e9b3ec623f45739ea266718cf Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
-rw-r--r--src/render/backend/framegraph/statesetnode.cpp3
-rw-r--r--src/render/backend/jobs/renderviewjobutils.cpp2
-rw-r--r--src/render/backend/render-backend.pri5
-rw-r--r--src/render/backend/renderer.cpp4
-rw-r--r--src/render/backend/renderpass.cpp5
-rw-r--r--src/render/backend/renderview.cpp2
-rw-r--r--src/render/frontend/render-frontend.pri39
-rw-r--r--src/render/graphicshelpers/graphicscontext.cpp2
-rw-r--r--src/render/render.pro1
-rw-r--r--src/render/renderstates/genericstate_p.h (renamed from src/render/backend/genericstate_p.h)46
-rw-r--r--src/render/renderstates/qalphacoverage.cpp (renamed from src/render/frontend/qalphacoverage.cpp)0
-rw-r--r--src/render/renderstates/qalphacoverage.h (renamed from src/render/frontend/qalphacoverage.h)0
-rw-r--r--src/render/renderstates/qalphatest.cpp (renamed from src/render/frontend/qalphatest.cpp)0
-rw-r--r--src/render/renderstates/qalphatest.h (renamed from src/render/frontend/qalphatest.h)0
-rw-r--r--src/render/renderstates/qblendequation.cpp (renamed from src/render/frontend/qblendequation.cpp)0
-rw-r--r--src/render/renderstates/qblendequation.h (renamed from src/render/frontend/qblendequation.h)0
-rw-r--r--src/render/renderstates/qblendstate.cpp (renamed from src/render/frontend/qblendstate.cpp)0
-rw-r--r--src/render/renderstates/qblendstate.h (renamed from src/render/frontend/qblendstate.h)0
-rw-r--r--src/render/renderstates/qclipplane.cpp (renamed from src/render/frontend/qclipplane.cpp)0
-rw-r--r--src/render/renderstates/qclipplane.h (renamed from src/render/frontend/qclipplane.h)0
-rw-r--r--src/render/renderstates/qcolormask.cpp (renamed from src/render/frontend/qcolormask.cpp)0
-rw-r--r--src/render/renderstates/qcolormask.h (renamed from src/render/frontend/qcolormask.h)0
-rw-r--r--src/render/renderstates/qcullface.cpp (renamed from src/render/frontend/qcullface.cpp)0
-rw-r--r--src/render/renderstates/qcullface.h (renamed from src/render/frontend/qcullface.h)0
-rw-r--r--src/render/renderstates/qdepthmask.cpp (renamed from src/render/frontend/qdepthmask.cpp)0
-rw-r--r--src/render/renderstates/qdepthmask.h (renamed from src/render/frontend/qdepthmask.h)0
-rw-r--r--src/render/renderstates/qdepthtest.cpp (renamed from src/render/frontend/qdepthtest.cpp)0
-rw-r--r--src/render/renderstates/qdepthtest.h (renamed from src/render/frontend/qdepthtest.h)0
-rw-r--r--src/render/renderstates/qdithering.cpp (renamed from src/render/frontend/qdithering.cpp)0
-rw-r--r--src/render/renderstates/qdithering.h (renamed from src/render/frontend/qdithering.h)0
-rw-r--r--src/render/renderstates/qfrontface.cpp (renamed from src/render/frontend/qfrontface.cpp)0
-rw-r--r--src/render/renderstates/qfrontface.h (renamed from src/render/frontend/qfrontface.h)0
-rw-r--r--src/render/renderstates/qpolygonoffset.cpp (renamed from src/render/frontend/qpolygonoffset.cpp)0
-rw-r--r--src/render/renderstates/qpolygonoffset.h (renamed from src/render/frontend/qpolygonoffset.h)0
-rw-r--r--src/render/renderstates/qrenderstate.cpp (renamed from src/render/frontend/qrenderstate.cpp)0
-rw-r--r--src/render/renderstates/qrenderstate.h (renamed from src/render/frontend/qrenderstate.h)0
-rw-r--r--src/render/renderstates/qrenderstate_p.h (renamed from src/render/frontend/qrenderstate_p.h)0
-rw-r--r--src/render/renderstates/qscissortest.cpp (renamed from src/render/frontend/qscissortest.cpp)0
-rw-r--r--src/render/renderstates/qscissortest.h (renamed from src/render/frontend/qscissortest.h)0
-rw-r--r--src/render/renderstates/qstencilmask.cpp (renamed from src/render/frontend/qstencilmask.cpp)0
-rw-r--r--src/render/renderstates/qstencilmask.h (renamed from src/render/frontend/qstencilmask.h)0
-rw-r--r--src/render/renderstates/qstencilop.cpp (renamed from src/render/frontend/qstencilop.cpp)0
-rw-r--r--src/render/renderstates/qstencilop.h (renamed from src/render/frontend/qstencilop.h)0
-rw-r--r--src/render/renderstates/qstencilopseparate.cpp (renamed from src/render/frontend/qstencilopseparate.cpp)0
-rw-r--r--src/render/renderstates/qstencilopseparate.h (renamed from src/render/frontend/qstencilopseparate.h)0
-rw-r--r--src/render/renderstates/qstenciltest.cpp (renamed from src/render/frontend/qstenciltest.cpp)0
-rw-r--r--src/render/renderstates/qstenciltest.h (renamed from src/render/frontend/qstenciltest.h)0
-rw-r--r--src/render/renderstates/qstenciltestseparate.cpp (renamed from src/render/frontend/qstenciltestseparate.cpp)0
-rw-r--r--src/render/renderstates/qstenciltestseparate.h (renamed from src/render/frontend/qstenciltestseparate.h)0
-rw-r--r--src/render/renderstates/renderstates.cpp (renamed from src/render/backend/states/blendstate.cpp)2
-rw-r--r--src/render/renderstates/renderstates.pri50
-rw-r--r--src/render/renderstates/renderstates_p.h (renamed from src/render/backend/states/blendstate_p.h)7
-rw-r--r--src/render/renderstates/renderstateset.cpp (renamed from src/render/backend/renderstate.cpp)4
-rw-r--r--src/render/renderstates/renderstateset_p.h (renamed from src/render/backend/renderstate_p.h)37
-rw-r--r--tests/auto/render/renderpass/tst_renderpass.cpp2
55 files changed, 109 insertions, 102 deletions
diff --git a/src/render/backend/framegraph/statesetnode.cpp b/src/render/backend/framegraph/statesetnode.cpp
index 0082602df..cd0d82371 100644
--- a/src/render/backend/framegraph/statesetnode.cpp
+++ b/src/render/backend/framegraph/statesetnode.cpp
@@ -38,7 +38,8 @@
#include <Qt3DCore/qscenepropertychange.h>
#include <Qt3DRenderer/qstateset.h>
-#include <Qt3DRenderer/private/renderstate_p.h>
+#include <Qt3DRenderer/private/genericstate_p.h>
+#include <Qt3DRenderer/private/renderstateset_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/render/backend/jobs/renderviewjobutils.cpp b/src/render/backend/jobs/renderviewjobutils.cpp
index c439f7605..9cf472549 100644
--- a/src/render/backend/jobs/renderviewjobutils.cpp
+++ b/src/render/backend/jobs/renderviewjobutils.cpp
@@ -47,7 +47,7 @@
#include <Qt3DRenderer/private/managers_p.h>
#include <Qt3DRenderer/private/effect_p.h>
#include <Qt3DRenderer/private/renderpassfilternode_p.h>
-#include <Qt3DRenderer/private/renderstate_p.h>
+#include <Qt3DRenderer/private/renderstateset_p.h>
#include <Qt3DRenderer/private/rendertargetselectornode_p.h>
#include <Qt3DRenderer/private/renderview_p.h>
#include <Qt3DRenderer/private/sortmethod_p.h>
diff --git a/src/render/backend/render-backend.pri b/src/render/backend/render-backend.pri
index 9ed6813e7..08d107d61 100644
--- a/src/render/backend/render-backend.pri
+++ b/src/render/backend/render-backend.pri
@@ -8,14 +8,11 @@ HEADERS += \
$$PWD/renderconfiguration_p.h \
$$PWD/renderer_p.h \
$$PWD/quniformvalue_p.h \
- $$PWD/states/blendstate_p.h \
- $$PWD/genericstate_p.h \
$$PWD/renderview_p.h \
$$PWD/rendercommand_p.h \
$$PWD/renderqueue_p.h \
$$PWD/parameterpack_p.h \
$$PWD/texturedatamanager_p.h \
- $$PWD/renderstate_p.h \
$$PWD/rendertarget_p.h \
$$PWD/renderattachment_p.h \
$$PWD/scenemanager_p.h \
@@ -59,13 +56,11 @@ SOURCES += \
$$PWD/renderconfiguration.cpp \
$$PWD/renderer.cpp \
$$PWD/quniformvalue.cpp \
- $$PWD/states/blendstate.cpp \
$$PWD/renderview.cpp \
$$PWD/rendercommand.cpp \
$$PWD/renderqueue.cpp \
$$PWD/parameterpack.cpp \
$$PWD/texturedatamanager.cpp \
- $$PWD/renderstate.cpp \
$$PWD/rendertarget.cpp \
$$PWD/renderattachment.cpp \
$$PWD/scenemanager.cpp \
diff --git a/src/render/backend/renderer.cpp b/src/render/backend/renderer.cpp
index e6c664263..5d42e7c6a 100644
--- a/src/render/backend/renderer.cpp
+++ b/src/render/backend/renderer.cpp
@@ -50,7 +50,7 @@
#include <Qt3DRenderer/qeffect.h>
#include <Qt3DRenderer/private/renderviewjob_p.h>
-#include <Qt3DRenderer/private/blendstate_p.h>
+#include <Qt3DRenderer/private/renderstates_p.h>
#include <Qt3DRenderer/private/cameraselectornode_p.h>
#include <Qt3DRenderer/private/framegraphvisitor_p.h>
#include <Qt3DRenderer/private/graphicscontext_p.h>
@@ -62,7 +62,7 @@
#include <Qt3DRenderer/private/renderpassfilternode_p.h>
#include <Qt3DRenderer/private/renderqueue_p.h>
#include <Qt3DRenderer/private/shader_p.h>
-#include <Qt3DRenderer/private/renderstate_p.h>
+#include <Qt3DRenderer/private/renderstateset_p.h>
#include <Qt3DRenderer/private/technique_p.h>
#include <Qt3DRenderer/private/renderthread_p.h>
#include <Qt3DRenderer/private/renderview_p.h>
diff --git a/src/render/backend/renderpass.cpp b/src/render/backend/renderpass.cpp
index 47556aeab..b64b8682d 100644
--- a/src/render/backend/renderpass.cpp
+++ b/src/render/backend/renderpass.cpp
@@ -42,9 +42,8 @@
#include <Qt3DRenderer/qrenderpass.h>
#include <Qt3DRenderer/qparameter.h>
-// TODO: Rename this include to something more descriptive
-#include <Qt3DRenderer/private/blendstate_p.h>
-#include <Qt3DRenderer/private/renderstate_p.h>
+#include <Qt3DRenderer/private/renderstates_p.h>
+#include <Qt3DRenderer/private/renderstateset_p.h>
#include <Qt3DCore/qscenepropertychange.h>
diff --git a/src/render/backend/renderview.cpp b/src/render/backend/renderview.cpp
index e19859fb2..c730b7ce2 100644
--- a/src/render/backend/renderview.cpp
+++ b/src/render/backend/renderview.cpp
@@ -55,7 +55,7 @@
#include <Qt3DRenderer/private/renderpassfilternode_p.h>
#include <Qt3DRenderer/private/renderpass_p.h>
#include <Qt3DRenderer/private/geometryrenderer_p.h>
-#include <Qt3DRenderer/private/renderstate_p.h>
+#include <Qt3DRenderer/private/renderstateset_p.h>
#include <Qt3DRenderer/private/techniquefilternode_p.h>
#include <Qt3DRenderer/private/viewportnode_p.h>
diff --git a/src/render/frontend/render-frontend.pri b/src/render/frontend/render-frontend.pri
index b9737324d..56d7de7d0 100644
--- a/src/render/frontend/render-frontend.pri
+++ b/src/render/frontend/render-frontend.pri
@@ -41,31 +41,16 @@ HEADERS += \
$$PWD/qopenglfilter.h \
$$PWD/qplanemesh.h \
$$PWD/qcuboidmesh.h \
- $$PWD/qblendstate.h \
- $$PWD/qblendequation.h \
- $$PWD/qalphatest.h \
- $$PWD/qdepthtest.h \
- $$PWD/qdepthmask.h \
- $$PWD/qcullface.h \
- $$PWD/qfrontface.h \
- $$PWD/qstenciltest.h \
- $$PWD/qscissortest.h \
- $$PWD/qdithering.h \
- $$PWD/qrenderstate.h \
$$PWD/qrenderattachment.h \
$$PWD/qrenderattachment_p.h \
$$PWD/qrendertarget.h \
$$PWD/qrendertarget_p.h \
- $$PWD/qrenderstate_p.h \
- $$PWD/qalphacoverage.h \
$$PWD/qannotation.h \
$$PWD/qannotation_p.h \
$$PWD/qparametermapping_p.h \
$$PWD/qparametermapping.h \
$$PWD/qshaderdata.h \
$$PWD/qshaderdata_p.h \
- $$PWD/qpolygonoffset.h \
- $$PWD/qcolormask.h \
$$PWD/qabstracttextureprovider.h \
$$PWD/qabstracttextureprovider_p.h \
$$PWD/qwrapmode.h \
@@ -73,11 +58,6 @@ HEADERS += \
$$PWD/qabstracttextureimage_p.h \
$$PWD/qtextureimage.h \
$$PWD/qtextureproviders.h \
- $$PWD/qclipplane.h \
- $$PWD/qstencilop.h \
- $$PWD/qstencilopseparate.h \
- $$PWD/qstenciltestseparate.h \
- $$PWD/qstencilmask.h \
$$PWD/qgeometryrenderer.h \
$$PWD/qgeometry.h \
$$PWD/qgeometryrenderer_p.h \
@@ -111,35 +91,16 @@ SOURCES += \
$$PWD/qopenglfilter.cpp \
$$PWD/qplanemesh.cpp \
$$PWD/qcuboidmesh.cpp \
- $$PWD/qblendstate.cpp \
- $$PWD/qblendequation.cpp \
- $$PWD/qalphatest.cpp \
- $$PWD/qdepthtest.cpp \
- $$PWD/qdepthmask.cpp \
- $$PWD/qcullface.cpp \
- $$PWD/qfrontface.cpp \
- $$PWD/qstenciltest.cpp \
- $$PWD/qscissortest.cpp \
- $$PWD/qdithering.cpp \
- $$PWD/qrenderstate.cpp \
$$PWD/qrenderattachment.cpp \
$$PWD/qrendertarget.cpp \
- $$PWD/qalphacoverage.cpp \
$$PWD/qannotation.cpp \
$$PWD/qparametermapping.cpp \
$$PWD/qshaderdata.cpp \
- $$PWD/qpolygonoffset.cpp \
- $$PWD/qcolormask.cpp \
$$PWD/qabstracttextureprovider.cpp \
$$PWD/qwrapmode.cpp \
$$PWD/qabstracttextureimage.cpp \
$$PWD/qtextureimage.cpp \
$$PWD/qtextureproviders.cpp \
- $$PWD/qclipplane.cpp \
- $$PWD/qstencilop.cpp \
- $$PWD/qstencilopseparate.cpp \
- $$PWD/qstenciltestseparate.cpp \
- $$PWD/qstencilmask.cpp \
$$PWD/qgeometryrenderer.cpp \
$$PWD/qgeometry.cpp \
$$PWD/qwindow.cpp \
diff --git a/src/render/graphicshelpers/graphicscontext.cpp b/src/render/graphicshelpers/graphicscontext.cpp
index 3057485af..73fd50fb8 100644
--- a/src/render/graphicshelpers/graphicscontext.cpp
+++ b/src/render/graphicshelpers/graphicscontext.cpp
@@ -46,7 +46,7 @@
#include <Qt3DRenderer/private/buffer_p.h>
#include <Qt3DRenderer/private/attribute_p.h>
#include <Qt3DRenderer/private/rendercommand_p.h>
-#include <Qt3DRenderer/private/renderstate_p.h>
+#include <Qt3DRenderer/private/renderstateset_p.h>
#include <Qt3DRenderer/private/rendertarget_p.h>
#include <Qt3DRenderer/private/graphicshelperinterface_p.h>
#include <Qt3DRenderer/private/renderer_p.h>
diff --git a/src/render/render.pro b/src/render/render.pro
index 01a17aee6..c0479d343 100644
--- a/src/render/render.pro
+++ b/src/render/render.pro
@@ -14,6 +14,7 @@ load(qt_module)
include (backend/render-backend.pri)
include (graphicshelpers/graphicshelpers.pri)
include (frontend/render-frontend.pri)
+include (renderstates/renderstates.pri)
include (io/render-io.pri)
include (defaults/defaults.pri)
diff --git a/src/render/backend/genericstate_p.h b/src/render/renderstates/genericstate_p.h
index 0235b8a50..7fc5a4391 100644
--- a/src/render/backend/genericstate_p.h
+++ b/src/render/renderstates/genericstate_p.h
@@ -35,18 +35,52 @@
**
****************************************************************************/
-#ifndef QT3DRENDER_RENDER_STATE_IMPLS_H
-#define QT3DRENDER_RENDER_STATE_IMPLS_H
+#ifndef QT3DRENDER_RENDER_GENERICSTATE_H
+#define QT3DRENDER_RENDER_GENERICSTATE_H
#include <QList>
-#include <Qt3DRenderer/private/renderstate_p.h>
-
QT_BEGIN_NAMESPACE
namespace Qt3DRender {
+
+class QRenderState;
+
namespace Render {
+class GraphicsContext;
+
+enum StateMask
+{
+ BlendStateMask = 1 << 0,
+ StencilWriteStateMask = 1 << 1,
+ StencilTestStateMask = 1 << 2,
+ ScissorStateMask = 1 << 3,
+ DepthTestStateMask = 1 << 4,
+ DepthWriteStateMask = 1 << 5,
+ CullFaceStateMask = 1 << 6,
+ AlphaTestMask = 1 << 7,
+ FrontFaceStateMask = 1 << 8,
+ DitheringStateMask = 1 << 9,
+ AlphaCoverageStateMask = 1 << 10,
+ PolygonOffsetStateMask = 1 << 11,
+ ColorStateMask = 1 << 12,
+ ClipPlaneMask = 1 << 13,
+ StencilOpMask = 1 << 14
+};
+
+typedef quint64 StateMaskSet;
+
+class Q_AUTOTEST_EXPORT RenderState
+{
+public:
+ virtual ~RenderState() {}
+ virtual void apply(GraphicsContext* gc) const = 0;
+ virtual StateMaskSet mask() const = 0;
+
+ static RenderState *getOrCreateBackendState(QRenderState *renderState);
+};
+
template <typename Derived, typename T>
class GenericState1 : public RenderState
{
@@ -148,8 +182,8 @@ protected:
};
} // namespace Render
-} // namespace Qt3DRender of namespace
+} // namespace Qt3DRender
QT_END_NAMESPACE
-#endif // STATE_IMPLS_H
+#endif // QT3DRENDER_RENDER_GENERICSTATE_H
diff --git a/src/render/frontend/qalphacoverage.cpp b/src/render/renderstates/qalphacoverage.cpp
index 7a8fea6bb..7a8fea6bb 100644
--- a/src/render/frontend/qalphacoverage.cpp
+++ b/src/render/renderstates/qalphacoverage.cpp
diff --git a/src/render/frontend/qalphacoverage.h b/src/render/renderstates/qalphacoverage.h
index 753b28919..753b28919 100644
--- a/src/render/frontend/qalphacoverage.h
+++ b/src/render/renderstates/qalphacoverage.h
diff --git a/src/render/frontend/qalphatest.cpp b/src/render/renderstates/qalphatest.cpp
index 34071c52d..34071c52d 100644
--- a/src/render/frontend/qalphatest.cpp
+++ b/src/render/renderstates/qalphatest.cpp
diff --git a/src/render/frontend/qalphatest.h b/src/render/renderstates/qalphatest.h
index d59340ec7..d59340ec7 100644
--- a/src/render/frontend/qalphatest.h
+++ b/src/render/renderstates/qalphatest.h
diff --git a/src/render/frontend/qblendequation.cpp b/src/render/renderstates/qblendequation.cpp
index bee40fc67..bee40fc67 100644
--- a/src/render/frontend/qblendequation.cpp
+++ b/src/render/renderstates/qblendequation.cpp
diff --git a/src/render/frontend/qblendequation.h b/src/render/renderstates/qblendequation.h
index 94735fdb6..94735fdb6 100644
--- a/src/render/frontend/qblendequation.h
+++ b/src/render/renderstates/qblendequation.h
diff --git a/src/render/frontend/qblendstate.cpp b/src/render/renderstates/qblendstate.cpp
index 7f7a8d680..7f7a8d680 100644
--- a/src/render/frontend/qblendstate.cpp
+++ b/src/render/renderstates/qblendstate.cpp
diff --git a/src/render/frontend/qblendstate.h b/src/render/renderstates/qblendstate.h
index 25072f449..25072f449 100644
--- a/src/render/frontend/qblendstate.h
+++ b/src/render/renderstates/qblendstate.h
diff --git a/src/render/frontend/qclipplane.cpp b/src/render/renderstates/qclipplane.cpp
index d3f2fadb3..d3f2fadb3 100644
--- a/src/render/frontend/qclipplane.cpp
+++ b/src/render/renderstates/qclipplane.cpp
diff --git a/src/render/frontend/qclipplane.h b/src/render/renderstates/qclipplane.h
index 7afa6c5e7..7afa6c5e7 100644
--- a/src/render/frontend/qclipplane.h
+++ b/src/render/renderstates/qclipplane.h
diff --git a/src/render/frontend/qcolormask.cpp b/src/render/renderstates/qcolormask.cpp
index 9f61825ea..9f61825ea 100644
--- a/src/render/frontend/qcolormask.cpp
+++ b/src/render/renderstates/qcolormask.cpp
diff --git a/src/render/frontend/qcolormask.h b/src/render/renderstates/qcolormask.h
index 886feebbb..886feebbb 100644
--- a/src/render/frontend/qcolormask.h
+++ b/src/render/renderstates/qcolormask.h
diff --git a/src/render/frontend/qcullface.cpp b/src/render/renderstates/qcullface.cpp
index ce71aaa59..ce71aaa59 100644
--- a/src/render/frontend/qcullface.cpp
+++ b/src/render/renderstates/qcullface.cpp
diff --git a/src/render/frontend/qcullface.h b/src/render/renderstates/qcullface.h
index d8832bcd6..d8832bcd6 100644
--- a/src/render/frontend/qcullface.h
+++ b/src/render/renderstates/qcullface.h
diff --git a/src/render/frontend/qdepthmask.cpp b/src/render/renderstates/qdepthmask.cpp
index 76e5339d0..76e5339d0 100644
--- a/src/render/frontend/qdepthmask.cpp
+++ b/src/render/renderstates/qdepthmask.cpp
diff --git a/src/render/frontend/qdepthmask.h b/src/render/renderstates/qdepthmask.h
index fdd02b4d3..fdd02b4d3 100644
--- a/src/render/frontend/qdepthmask.h
+++ b/src/render/renderstates/qdepthmask.h
diff --git a/src/render/frontend/qdepthtest.cpp b/src/render/renderstates/qdepthtest.cpp
index 017b7ce00..017b7ce00 100644
--- a/src/render/frontend/qdepthtest.cpp
+++ b/src/render/renderstates/qdepthtest.cpp
diff --git a/src/render/frontend/qdepthtest.h b/src/render/renderstates/qdepthtest.h
index e9b4275b6..e9b4275b6 100644
--- a/src/render/frontend/qdepthtest.h
+++ b/src/render/renderstates/qdepthtest.h
diff --git a/src/render/frontend/qdithering.cpp b/src/render/renderstates/qdithering.cpp
index fd8ce1c2f..fd8ce1c2f 100644
--- a/src/render/frontend/qdithering.cpp
+++ b/src/render/renderstates/qdithering.cpp
diff --git a/src/render/frontend/qdithering.h b/src/render/renderstates/qdithering.h
index 37794e372..37794e372 100644
--- a/src/render/frontend/qdithering.h
+++ b/src/render/renderstates/qdithering.h
diff --git a/src/render/frontend/qfrontface.cpp b/src/render/renderstates/qfrontface.cpp
index 4ec5043a4..4ec5043a4 100644
--- a/src/render/frontend/qfrontface.cpp
+++ b/src/render/renderstates/qfrontface.cpp
diff --git a/src/render/frontend/qfrontface.h b/src/render/renderstates/qfrontface.h
index 0a2c8cac9..0a2c8cac9 100644
--- a/src/render/frontend/qfrontface.h
+++ b/src/render/renderstates/qfrontface.h
diff --git a/src/render/frontend/qpolygonoffset.cpp b/src/render/renderstates/qpolygonoffset.cpp
index 27c9cde4f..27c9cde4f 100644
--- a/src/render/frontend/qpolygonoffset.cpp
+++ b/src/render/renderstates/qpolygonoffset.cpp
diff --git a/src/render/frontend/qpolygonoffset.h b/src/render/renderstates/qpolygonoffset.h
index 9aff94a1f..9aff94a1f 100644
--- a/src/render/frontend/qpolygonoffset.h
+++ b/src/render/renderstates/qpolygonoffset.h
diff --git a/src/render/frontend/qrenderstate.cpp b/src/render/renderstates/qrenderstate.cpp
index 831962ca4..831962ca4 100644
--- a/src/render/frontend/qrenderstate.cpp
+++ b/src/render/renderstates/qrenderstate.cpp
diff --git a/src/render/frontend/qrenderstate.h b/src/render/renderstates/qrenderstate.h
index 6f730a432..6f730a432 100644
--- a/src/render/frontend/qrenderstate.h
+++ b/src/render/renderstates/qrenderstate.h
diff --git a/src/render/frontend/qrenderstate_p.h b/src/render/renderstates/qrenderstate_p.h
index 21bdd276a..21bdd276a 100644
--- a/src/render/frontend/qrenderstate_p.h
+++ b/src/render/renderstates/qrenderstate_p.h
diff --git a/src/render/frontend/qscissortest.cpp b/src/render/renderstates/qscissortest.cpp
index cc2624f41..cc2624f41 100644
--- a/src/render/frontend/qscissortest.cpp
+++ b/src/render/renderstates/qscissortest.cpp
diff --git a/src/render/frontend/qscissortest.h b/src/render/renderstates/qscissortest.h
index a607bcd72..a607bcd72 100644
--- a/src/render/frontend/qscissortest.h
+++ b/src/render/renderstates/qscissortest.h
diff --git a/src/render/frontend/qstencilmask.cpp b/src/render/renderstates/qstencilmask.cpp
index 44098296a..44098296a 100644
--- a/src/render/frontend/qstencilmask.cpp
+++ b/src/render/renderstates/qstencilmask.cpp
diff --git a/src/render/frontend/qstencilmask.h b/src/render/renderstates/qstencilmask.h
index 6e11cff68..6e11cff68 100644
--- a/src/render/frontend/qstencilmask.h
+++ b/src/render/renderstates/qstencilmask.h
diff --git a/src/render/frontend/qstencilop.cpp b/src/render/renderstates/qstencilop.cpp
index 67a571202..67a571202 100644
--- a/src/render/frontend/qstencilop.cpp
+++ b/src/render/renderstates/qstencilop.cpp
diff --git a/src/render/frontend/qstencilop.h b/src/render/renderstates/qstencilop.h
index bc212af48..bc212af48 100644
--- a/src/render/frontend/qstencilop.h
+++ b/src/render/renderstates/qstencilop.h
diff --git a/src/render/frontend/qstencilopseparate.cpp b/src/render/renderstates/qstencilopseparate.cpp
index ec2c4e40c..ec2c4e40c 100644
--- a/src/render/frontend/qstencilopseparate.cpp
+++ b/src/render/renderstates/qstencilopseparate.cpp
diff --git a/src/render/frontend/qstencilopseparate.h b/src/render/renderstates/qstencilopseparate.h
index 44561131c..44561131c 100644
--- a/src/render/frontend/qstencilopseparate.h
+++ b/src/render/renderstates/qstencilopseparate.h
diff --git a/src/render/frontend/qstenciltest.cpp b/src/render/renderstates/qstenciltest.cpp
index 2533d71a9..2533d71a9 100644
--- a/src/render/frontend/qstenciltest.cpp
+++ b/src/render/renderstates/qstenciltest.cpp
diff --git a/src/render/frontend/qstenciltest.h b/src/render/renderstates/qstenciltest.h
index 51469f69c..51469f69c 100644
--- a/src/render/frontend/qstenciltest.h
+++ b/src/render/renderstates/qstenciltest.h
diff --git a/src/render/frontend/qstenciltestseparate.cpp b/src/render/renderstates/qstenciltestseparate.cpp
index 87b9fc798..87b9fc798 100644
--- a/src/render/frontend/qstenciltestseparate.cpp
+++ b/src/render/renderstates/qstenciltestseparate.cpp
diff --git a/src/render/frontend/qstenciltestseparate.h b/src/render/renderstates/qstenciltestseparate.h
index 5689a1cfb..5689a1cfb 100644
--- a/src/render/frontend/qstenciltestseparate.h
+++ b/src/render/renderstates/qstenciltestseparate.h
diff --git a/src/render/backend/states/blendstate.cpp b/src/render/renderstates/renderstates.cpp
index ca27ae852..a7e398035 100644
--- a/src/render/backend/states/blendstate.cpp
+++ b/src/render/renderstates/renderstates.cpp
@@ -35,7 +35,7 @@
**
****************************************************************************/
-#include "blendstate_p.h"
+#include "renderstates_p.h"
#include <Qt3DRenderer/private/graphicscontext_p.h>
diff --git a/src/render/renderstates/renderstates.pri b/src/render/renderstates/renderstates.pri
new file mode 100644
index 000000000..dc5684230
--- /dev/null
+++ b/src/render/renderstates/renderstates.pri
@@ -0,0 +1,50 @@
+INCLUDEPATH += $$PWD
+
+HEADERS += \
+ $$PWD/genericstate_p.h \
+ $$PWD/qalphacoverage.h \
+ $$PWD/qalphatest.h \
+ $$PWD/qblendequation.h \
+ $$PWD/qblendstate.h \
+ $$PWD/qclipplane.h \
+ $$PWD/qcolormask.h \
+ $$PWD/qcullface.h \
+ $$PWD/qdepthmask.h \
+ $$PWD/qdepthtest.h \
+ $$PWD/qdithering.h \
+ $$PWD/qfrontface.h \
+ $$PWD/qpolygonoffset.h \
+ $$PWD/qrenderstate.h \
+ $$PWD/qrenderstate_p.h \
+ $$PWD/qscissortest.h \
+ $$PWD/qstencilmask.h \
+ $$PWD/qstencilop.h \
+ $$PWD/qstencilopseparate.h \
+ $$PWD/qstenciltest.h \
+ $$PWD/qstenciltestseparate.h \
+ $$PWD/renderstates_p.h \
+ $$PWD/renderstateset_p.h
+
+
+SOURCES += \
+ $$PWD/qalphacoverage.cpp \
+ $$PWD/qalphatest.cpp \
+ $$PWD/qblendequation.cpp \
+ $$PWD/qblendstate.cpp \
+ $$PWD/qclipplane.cpp \
+ $$PWD/qcolormask.cpp \
+ $$PWD/qcullface.cpp \
+ $$PWD/qdepthmask.cpp \
+ $$PWD/qdepthtest.cpp \
+ $$PWD/qdithering.cpp \
+ $$PWD/qfrontface.cpp \
+ $$PWD/qpolygonoffset.cpp \
+ $$PWD/qrenderstate.cpp \
+ $$PWD/qscissortest.cpp \
+ $$PWD/qstencilmask.cpp \
+ $$PWD/qstencilop.cpp \
+ $$PWD/qstencilopseparate.cpp \
+ $$PWD/qstenciltest.cpp \
+ $$PWD/qstenciltestseparate.cpp \
+ $$PWD/renderstates.cpp \
+ $$PWD/renderstateset.cpp
diff --git a/src/render/backend/states/blendstate_p.h b/src/render/renderstates/renderstates_p.h
index 221650ebd..2b0baafef 100644
--- a/src/render/backend/states/blendstate_p.h
+++ b/src/render/renderstates/renderstates_p.h
@@ -35,10 +35,9 @@
**
****************************************************************************/
-#ifndef BLENDSTATE_H
-#define BLENDSTATE_H
+#ifndef QT3DRENDER_RENDER_RENDERSTATES_H
+#define QT3DRENDER_RENDER_RENDERSTATES_H
-#include <Qt3DRenderer/private/renderstate_p.h>
#include <Qt3DRenderer/private/genericstate_p.h>
#include <QOpenGLContext>
@@ -280,4 +279,4 @@ private:
QT_END_NAMESPACE
-#endif // BLENDSTATE_H
+#endif // QT3DRENDER_RENDER_RENDERSTATES_H
diff --git a/src/render/backend/renderstate.cpp b/src/render/renderstates/renderstateset.cpp
index 5f0d79977..3da5e37ef 100644
--- a/src/render/backend/renderstate.cpp
+++ b/src/render/renderstates/renderstateset.cpp
@@ -35,7 +35,7 @@
**
****************************************************************************/
-#include "renderstate_p.h"
+#include "renderstateset_p.h"
#include <bitset>
@@ -43,7 +43,7 @@
#include <QOpenGLContext>
#include <Qt3DRenderer/private/graphicscontext_p.h>
-#include <Qt3DRenderer/private/blendstate_p.h>
+#include <Qt3DRenderer/private/renderstates_p.h>
#include <Qt3DRenderer/qalphacoverage.h>
#include <Qt3DRenderer/qalphatest.h>
diff --git a/src/render/backend/renderstate_p.h b/src/render/renderstates/renderstateset_p.h
index 702b9886c..7a2f54000 100644
--- a/src/render/backend/renderstate_p.h
+++ b/src/render/renderstates/renderstateset_p.h
@@ -38,6 +38,7 @@
#ifndef QT3DRENDER_RENDER_RENDERSTATE_H
#define QT3DRENDER_RENDER_RENDERSTATE_H
+#include <Qt3DRenderer/private/genericstate_p.h>
#include <QVector>
QT_BEGIN_NAMESPACE
@@ -49,40 +50,7 @@ class QRenderState;
namespace Render {
class GraphicsContext;
-
-enum StateMask
-{
- BlendStateMask = 1 << 0,
- StencilWriteStateMask = 1 << 1,
- StencilTestStateMask = 1 << 2,
- ScissorStateMask = 1 << 3,
- DepthTestStateMask = 1 << 4,
- DepthWriteStateMask = 1 << 5,
- CullFaceStateMask = 1 << 6,
- AlphaTestMask = 1 << 7,
- FrontFaceStateMask = 1 << 8,
- DitheringStateMask = 1 << 9,
- AlphaCoverageStateMask = 1 << 10,
- PolygonOffsetStateMask = 1 << 11,
- ColorStateMask = 1 << 12,
- ClipPlaneMask = 1 << 13,
- StencilOpMask = 1 << 14
-};
-
-typedef quint64 StateMaskSet;
-
-class Q_AUTOTEST_EXPORT RenderState
-{
-public:
- virtual ~RenderState() {}
-
- virtual void apply(GraphicsContext* gc) const = 0;
-
- virtual StateMaskSet mask() const = 0;
-
- static RenderState *getOrCreateBackendState(QRenderState *renderState);
-protected:
-};
+class RenderState;
class RenderStateSet
{
@@ -120,7 +88,6 @@ private:
RenderStateSet* m_cachedPrevious;
QVector<RenderState*> m_cachedDeltaStates;
-
};
} // namespace Render
diff --git a/tests/auto/render/renderpass/tst_renderpass.cpp b/tests/auto/render/renderpass/tst_renderpass.cpp
index 3fd4b4306..df7d066c9 100644
--- a/tests/auto/render/renderpass/tst_renderpass.cpp
+++ b/tests/auto/render/renderpass/tst_renderpass.cpp
@@ -64,7 +64,7 @@
#include <Qt3DRenderer/QStencilOpSeparate>
#include <Qt3DRenderer/QClipPlane>
-#include <Qt3DRenderer/private/blendstate_p.h>
+#include <Qt3DRenderer/private/renderstates_p.h>
using namespace Qt3D;
using namespace Qt3DRender;