aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/GrOptDrawState.h
diff options
context:
space:
mode:
authorGravatar egdaniel <egdaniel@google.com>2014-12-03 10:40:13 -0800
committerGravatar Commit bot <commit-bot@chromium.org>2014-12-03 10:40:13 -0800
commit378092f3d10b1dd62967f419c35cfefec7c10ee7 (patch)
tree2053505fc4cccddb5a366ef26897128b2a65b0cd /src/gpu/GrOptDrawState.h
parent5ab7e80f2b477c55be9861ab1c56e33e19aa97a6 (diff)
Add XferProcessor factory in GrPaint and GrDrawState.
In this CL the XP should have zero effect on the actual rendering pipeline. BUG=skia: Review URL: https://codereview.chromium.org/751283002
Diffstat (limited to 'src/gpu/GrOptDrawState.h')
-rw-r--r--src/gpu/GrOptDrawState.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/gpu/GrOptDrawState.h b/src/gpu/GrOptDrawState.h
index 542172fd64..ac7ec16402 100644
--- a/src/gpu/GrOptDrawState.h
+++ b/src/gpu/GrOptDrawState.h
@@ -84,6 +84,9 @@ public:
bool hasGeometryProcessor() const { return SkToBool(fGeometryProcessor.get()); }
const GrGeometryProcessor* getGeometryProcessor() const { return fGeometryProcessor.get(); }
+
+ const GrXferProcessor* getXferProcessor() const { return fXferProcessor.get(); }
+
const GrPendingFragmentStage& getColorStage(int idx) const {
SkASSERT(idx < this->numColorStages());
return fFragmentStages[idx];
@@ -230,6 +233,7 @@ private:
typedef GrPendingIOResource<GrRenderTarget, kWrite_GrIOType> RenderTarget;
typedef SkSTArray<8, GrPendingFragmentStage> FragmentStageArray;
typedef GrPendingProgramElement<const GrGeometryProcessor> ProgramGeometryProcessor;
+ typedef GrPendingProgramElement<const GrXferProcessor> ProgramXferProcessor;
RenderTarget fRenderTarget;
ScissorState fScissorState;
GrColor fColor;
@@ -243,6 +247,7 @@ private:
GrBlendCoeff fDstBlend;
uint32_t fFlags;
ProgramGeometryProcessor fGeometryProcessor;
+ ProgramXferProcessor fXferProcessor;
FragmentStageArray fFragmentStages;
// This function is equivalent to the offset into fFragmentStages where coverage stages begin.