summaryrefslogtreecommitdiffstats
path: root/src/render/renderers/opengl/renderstates/renderstateset_p.h
diff options
context:
space:
mode:
authorHarald Vistnes <harald.vistnes@gmail.com>2019-08-20 19:22:25 +0200
committerHarald Vistnes <harald.vistnes@gmail.com>2019-08-26 10:08:51 +0200
commitdbd7c517e4d49fb05457a7fe290f7c4e48cdb9cf (patch)
tree3b99b81e68101d4e4768b615b1c6ea8d43de132f /src/render/renderers/opengl/renderstates/renderstateset_p.h
parent99cc24f53ed2946494d3e8d594a6722c571a282f (diff)
Allow multiple instances of a few render states
Allow more than one instance of BlendEquationArgumentsMask and ClipPlaneMask render states. Task-number: QTBUG-77735 Change-Id: I9d2bdc82843e2eaf0f8a781208e4ca10e3a777c7 Reviewed-by: Mike Krus <mike.krus@kdab.com> Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Diffstat (limited to 'src/render/renderers/opengl/renderstates/renderstateset_p.h')
-rw-r--r--src/render/renderers/opengl/renderstates/renderstateset_p.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/render/renderers/opengl/renderstates/renderstateset_p.h b/src/render/renderers/opengl/renderstates/renderstateset_p.h
index 29be4d2f1..c2f3a0219 100644
--- a/src/render/renderers/opengl/renderstates/renderstateset_p.h
+++ b/src/render/renderers/opengl/renderstates/renderstateset_p.h
@@ -93,8 +93,7 @@ public:
QVector<StateVariant> states() const { return m_states; }
- bool hasStateOfType(StateMask type) const;
-
+ bool canAddStateOfType(StateMask type) const;
/**
* @brief contains - check if this set contains a matching piece of state
@@ -102,6 +101,11 @@ public:
* @return
*/
bool contains(const StateVariant &ds) const;
+
+private:
+ bool hasStateOfType(StateMask type) const;
+ bool allowMultipleStatesOfType(StateMask type) const;
+
private:
StateMaskSet m_stateMask;
QVector<StateVariant> m_states;