aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/GrPipeline.h
diff options
context:
space:
mode:
authorGravatar Brian Salomon <bsalomon@google.com>2017-02-22 11:52:03 -0500
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-02-22 19:41:30 +0000
commit5298dc8bf30f580f551d130346c007efaf4b2098 (patch)
treeea8df60caf9add5e08f06bdd6615f67307256f23 /src/gpu/GrPipeline.h
parent3661bc997620899695041010a750d11dbe8a972d (diff)
Make GrPipelineAnalysis a nested class of GrProcessorSet.
It is renamed to FragmentProcessorAnalysis since it represents the outputs of the final FPs. It now stores the analysis results that are subsequently needed rather than exposing GrProcOptInfo. GrProcOptInfo is now only used on color FPs (not coverage). Miscellaneous related renamings. Change-Id: I95c518a7a76df6dc294a9fa67c611f8f653247bc Reviewed-on: https://skia-review.googlesource.com/8534 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
Diffstat (limited to 'src/gpu/GrPipeline.h')
-rw-r--r--src/gpu/GrPipeline.h34
1 files changed, 2 insertions, 32 deletions
diff --git a/src/gpu/GrPipeline.h b/src/gpu/GrPipeline.h
index 11de747b04..8fca37e6fa 100644
--- a/src/gpu/GrPipeline.h
+++ b/src/gpu/GrPipeline.h
@@ -14,13 +14,13 @@
#include "GrPendingProgramElement.h"
#include "GrPrimitiveProcessor.h"
#include "GrProcOptInfo.h"
+#include "GrProcessorSet.h"
#include "GrProgramDesc.h"
#include "GrScissorState.h"
#include "GrUserStencilSettings.h"
#include "GrWindowRectsState.h"
#include "SkMatrix.h"
#include "SkRefCnt.h"
-
#include "effects/GrCoverageSetOpXP.h"
#include "effects/GrDisableColorXP.h"
#include "effects/GrPorterDuffXferProcessor.h"
@@ -33,36 +33,6 @@ class GrPipelineBuilder;
class GrRenderTargetContext;
/**
- * This Describes aspects of the GrPrimitiveProcessor produced by a GrDrawOp that are used in
- * pipeline analysis.
- */
-class GrPipelineAnalysisDrawOpInput {
-public:
- GrPipelineAnalysisDrawOpInput(GrPipelineInput* color, GrPipelineInput* coverage)
- : fColorInput(color), fCoverageInput(coverage) {}
- GrPipelineInput* pipelineColorInput() { return fColorInput; }
- GrPipelineInput* pipelineCoverageInput() { return fCoverageInput; }
-
- void setUsesPLSDstRead() { fUsesPLSDstRead = true; }
-
- bool usesPLSDstRead() const { return fUsesPLSDstRead; }
-
-private:
- GrPipelineInput* fColorInput;
- GrPipelineInput* fCoverageInput;
- bool fUsesPLSDstRead = false;
-};
-
-/** This is used to track pipeline analysis through the color and coverage fragment processors. */
-struct GrPipelineAnalysis {
- GrProcOptInfo fColorPOI;
- GrProcOptInfo fCoveragePOI;
- bool fUsesPLSDstRead = false;
-};
-
-class GrProcessorSet;
-
-/**
* Class that holds an optimized version of a GrPipelineBuilder. It is meant to be an immutable
* class, and contains all data needed to set the state for a gpu draw.
*/
@@ -89,11 +59,11 @@ public:
uint32_t fFlags = 0;
GrDrawFace fDrawFace = GrDrawFace::kBoth;
const GrProcessorSet* fProcessors = nullptr;
+ const GrProcessorSet::FragmentProcessorAnalysis* fAnalysis;
const GrUserStencilSettings* fUserStencil = &GrUserStencilSettings::kUnused;
GrAppliedClip* fAppliedClip = nullptr;
GrRenderTargetContext* fRenderTargetContext = nullptr;
const GrCaps* fCaps = nullptr;
- GrPipelineAnalysis fAnalysis;
GrXferProcessor::DstTexture fDstTexture;
};