Index: tests/GLProgramsTest.cpp |
diff --git a/tests/GLProgramsTest.cpp b/tests/GLProgramsTest.cpp |
index 0574bfc9374f77c0450fee32081ed2e131c50dca..e4d9675bff246927dc48e4e48d76b047906a2229 100644 |
--- a/tests/GLProgramsTest.cpp |
+++ b/tests/GLProgramsTest.cpp |
@@ -14,6 +14,7 @@ |
#include "GrBackendEffectFactory.h" |
#include "GrContextFactory.h" |
+#include "GrOptDrawState.h" |
#include "effects/GrConfigConversionEffect.h" |
#include "gl/GrGLPathRendering.h" |
#include "gl/GrGpuGL.h" |
@@ -159,16 +160,25 @@ bool GrGLProgramDesc::setRandom(SkRandom* random, |
GrGLPathRendering::FixedFunction_TexturingMode; |
header->fHasGeometryProcessor = vertexShader; |
- CoverageOutput coverageOutput; |
- bool illegalCoverageOutput; |
- do { |
- coverageOutput = static_cast<CoverageOutput>(random->nextULessThan(kCoverageOutputCnt)); |
- illegalCoverageOutput = (!gpu->caps()->dualSourceBlendingSupport() && |
- CoverageOutputUsesSecondaryOutput(coverageOutput)) || |
- (!dstRead && kCombineWithDst_CoverageOutput == coverageOutput); |
- } while (illegalCoverageOutput); |
+ GrOptDrawState::PrimaryOutputType primaryOutput; |
+ GrOptDrawState::SecondaryOutputType secondaryOutput; |
+ if (!dstRead) { |
+ primaryOutput = GrOptDrawState::kModulate_PrimaryOutputType; |
+ } else { |
+ primaryOutput = static_cast<GrOptDrawState::PrimaryOutputType>( |
+ random->nextULessThan(GrOptDrawState::kPrimaryOutputTypeCnt)); |
+ } |
- header->fCoverageOutput = coverageOutput; |
+ if (GrOptDrawState::kCombineWithDst_PrimaryOutputType == primaryOutput || |
+ !gpu->caps()->dualSourceBlendingSupport()) { |
+ secondaryOutput = GrOptDrawState::kNone_SecondaryOutputType; |
+ } else { |
+ secondaryOutput = static_cast<GrOptDrawState::SecondaryOutputType>( |
+ random->nextULessThan(GrOptDrawState::kSecondaryOutputTypeCnt)); |
+ } |
+ |
+ header->fPrimaryOutputType = primaryOutput; |
+ header->fSecondaryOutputType = secondaryOutput; |
this->finalize(); |
return true; |
@@ -249,7 +259,7 @@ bool GrGpuGL::programUnitTest(int maxStages) { |
SkAutoSTMalloc<8, const GrEffectStage*> stages(numStages); |
bool usePathRendering = this->glCaps().pathRenderingSupport() && random.nextBool(); |
- |
+ |
GrGpu::DrawType drawType = usePathRendering ? GrGpu::kDrawPath_DrawType : |
GrGpu::kDrawPoints_DrawType; |