diff --git a/src/gpu/ccpr/GrStencilAtlasOp.cpp b/src/gpu/ccpr/GrStencilAtlasOp.cpp index 258e4953e2..99d513edbf 100644 --- a/src/gpu/ccpr/GrStencilAtlasOp.cpp +++ b/src/gpu/ccpr/GrStencilAtlasOp.cpp @@ -90,13 +90,11 @@ static constexpr GrUserStencilSettings kIncrDecrStencil( ); // Resolves stencil winding counts to A8 coverage. Leaves stencil values untouched. -// NOTE: For the CCW face we intentionally use "1 == (stencil & 1)" because the contrapositive logic -// (i.e. 0 != ...) causes bugs on Adreno Vulkan. http://skbug.com/9643 static constexpr GrUserStencilSettings kResolveStencilCoverage( GrUserStencilSettings::StaticInitSeparate< - 0x0000, 0x0001, - GrUserStencilTest::kNotEqual, GrUserStencilTest::kEqual, - 0xffff, 0x0001, + 0x0000, 0x0000, + GrUserStencilTest::kNotEqual, GrUserStencilTest::kNotEqual, + 0xffff, 0x1, GrUserStencilOp::kKeep, GrUserStencilOp::kKeep, GrUserStencilOp::kKeep, GrUserStencilOp::kKeep, 0xffff, 0xffff>() @@ -108,7 +106,7 @@ static constexpr GrUserStencilSettings kResolveStencilCoverageAndReset( GrUserStencilSettings::StaticInitSeparate< 0x0000, 0x0000, GrUserStencilTest::kNotEqual, GrUserStencilTest::kNotEqual, - 0xffff, 0x0001, + 0xffff, 0x1, GrUserStencilOp::kZero, GrUserStencilOp::kZero, GrUserStencilOp::kKeep, GrUserStencilOp::kKeep, 0xffff, 0xffff>() diff --git a/src/gpu/vk/GrVkCaps.cpp b/src/gpu/vk/GrVkCaps.cpp index 314ab5c7b2..aeb9ec78c6 100644 --- a/src/gpu/vk/GrVkCaps.cpp +++ b/src/gpu/vk/GrVkCaps.cpp @@ -441,6 +441,10 @@ void GrVkCaps::applyDriverCorrectnessWorkarounds(const VkPhysicalDevicePropertie // GrCaps workarounds //////////////////////////////////////////////////////////////////////////// + // Temporarily disable the MSAA implementation of CCPR while we work out a crash on Win10 + // GTX660 and incorrect rendring on Adreno. + fDriverBlacklistMSAACCPR = true; + if (kARM_VkVendor == properties.vendorID) { fInstanceAttribSupport = false; fAvoidWritePixelsFastPath = true; // bugs.skia.org/8064