| 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;
|
|
|
|
|