summaryrefslogtreecommitdiffstats
path: root/src/render/renderstates/renderstates.cpp
diff options
context:
space:
mode:
authorSean Harmer <sean.harmer@kdab.com>2016-04-07 21:22:31 +0100
committerSean Harmer <sean.harmer@kdab.com>2016-04-11 08:00:15 +0000
commitdc58fc97ed9a36fa454eaa43e6f1cd7dc13a6d2d (patch)
tree925bf7fc16fba19ca975f0e92af1bb9a2ca35894 /src/render/renderstates/renderstates.cpp
parent19a8c6b46cb538ee4e628cbe50f6fa549094d7eb (diff)
Properly handle alpha to coverage state in non-cloning codepath
Also improve the alpha to coverage handlign in the helpers by using a single function rather than two. This removes GL errors about bad glFace enum values (caused by bad handlign of alpha to coverage in switch statement, which led to a FrontFace state being created with bad data). Change-Id: I832d92fcb07134525f421d3a3b4d12e9f5f6428c Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Diffstat (limited to 'src/render/renderstates/renderstates.cpp')
-rw-r--r--src/render/renderstates/renderstates.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/render/renderstates/renderstates.cpp b/src/render/renderstates/renderstates.cpp
index 94e272cdd..bc84d9779 100644
--- a/src/render/renderstates/renderstates.cpp
+++ b/src/render/renderstates/renderstates.cpp
@@ -182,7 +182,13 @@ void StencilTest::apply(GraphicsContext *gc) const
void AlphaCoverage::apply(GraphicsContext *gc) const
{
- gc->enableAlphaCoverage();
+ gc->setAlphaCoverageEnabled(m_1);
+}
+
+void AlphaCoverage::updateProperty(const char *name, const QVariant &value)
+{
+ if (name == QByteArrayLiteral("enabled"))
+ m_1 = value.toBool();
}
void PointSize::apply(GraphicsContext *gc) const