diff options
author | Brian Salomon <bsalomon@google.com> | 2017-03-02 08:49:19 -0500 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-03-02 15:28:02 +0000 |
commit | bfafcba05a54e1bc9c3074353a155d61119d095c (patch) | |
tree | 1304d38dddb0253db2462028712db89aa5b21bbb /src/gpu/GrPipeline.cpp | |
parent | bb5af6b70086cca8cbaa17b6ecfd462be3ab0b9e (diff) |
Determine whether any fp uses local coords in FragmentProcessorAnalysis rather than GrPipeline creation
Change-Id: I3b6253cd2b0081dfece51125082fd78f647e45e1
Reviewed-on: https://skia-review.googlesource.com/9133
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Diffstat (limited to 'src/gpu/GrPipeline.cpp')
-rw-r--r-- | src/gpu/GrPipeline.cpp | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/src/gpu/GrPipeline.cpp b/src/gpu/GrPipeline.cpp index 0dcf20db74..60f80f8aa4 100644 --- a/src/gpu/GrPipeline.cpp +++ b/src/gpu/GrPipeline.cpp @@ -84,8 +84,6 @@ GrPipelineOptimizations GrPipeline::init(const InitArgs& args) { colorFPsToEliminate = args.fProcessors->numColorFragmentProcessors(); } - bool usesLocalCoords = false; - // Copy GrFragmentProcessors from GrPipelineBuilder to Pipeline, possibly removing some of the // color fragment processors. fNumColorProcessors = args.fProcessors->numColorFragmentProcessors() - colorFPsToEliminate; @@ -100,17 +98,14 @@ GrPipelineOptimizations GrPipeline::init(const InitArgs& args) { ++i, ++currFPIdx) { const GrFragmentProcessor* fp = args.fProcessors->colorFragmentProcessor(i); fFragmentProcessors[currFPIdx].reset(fp); - usesLocalCoords = usesLocalCoords || fp->usesLocalCoords(); } for (int i = 0; i < args.fProcessors->numCoverageFragmentProcessors(); ++i, ++currFPIdx) { const GrFragmentProcessor* fp = args.fProcessors->coverageFragmentProcessor(i); fFragmentProcessors[currFPIdx].reset(fp); - usesLocalCoords = usesLocalCoords || fp->usesLocalCoords(); } if (const GrFragmentProcessor* fp = args.fAppliedClip->clipCoverageFragmentProcessor()) { fFragmentProcessors[currFPIdx].reset(fp); - usesLocalCoords = usesLocalCoords || fp->usesLocalCoords(); } // Setup info we need to pass to GrPrimitiveProcessors that are used with this GrPipeline. @@ -120,7 +115,7 @@ GrPipelineOptimizations GrPipeline::init(const InitArgs& args) { optimizations.fFlags |= GrPipelineOptimizations::kUseOverrideColor_Flag; optimizations.fOverrideColor = overrideColor; } - if (usesLocalCoords) { + if (args.fAnalysis->usesLocalCoords()) { optimizations.fFlags |= GrPipelineOptimizations::kReadsLocalCoords_Flag; } if (SkToBool(optFlags & GrXferProcessor::kCanTweakAlphaForCoverage_OptFlag)) { |