diff options
author | Sean Harmer <sean.harmer@kdab.com> | 2016-04-07 21:22:31 +0100 |
---|---|---|
committer | Sean Harmer <sean.harmer@kdab.com> | 2016-04-11 08:00:15 +0000 |
commit | dc58fc97ed9a36fa454eaa43e6f1cd7dc13a6d2d (patch) | |
tree | 925bf7fc16fba19ca975f0e92af1bb9a2ca35894 /src/render/renderstates/renderstates.cpp | |
parent | 19a8c6b46cb538ee4e628cbe50f6fa549094d7eb (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.cpp | 8 |
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 |