| Index: src/gpu/GrDrawState.h
|
| diff --git a/src/gpu/GrDrawState.h b/src/gpu/GrDrawState.h
|
| index baa75647c42cf014b4a366a2662eb8c2da02af10..4b1016001a130d9b38c8e28f70aeab1c27d23706 100644
|
| --- a/src/gpu/GrDrawState.h
|
| +++ b/src/gpu/GrDrawState.h
|
| @@ -13,7 +13,7 @@
|
| #include "GrDrawTargetCaps.h"
|
| #include "GrGeometryProcessor.h"
|
| #include "GrGpuResourceRef.h"
|
| -#include "GrProcessorStage.h"
|
| +#include "GrFragmentStage.h"
|
| #include "GrProcOptInfo.h"
|
| #include "GrRenderTarget.h"
|
| #include "GrStencil.h"
|
| @@ -540,9 +540,7 @@ public:
|
| *
|
| * @param target The render target to set.
|
| */
|
| - void setRenderTarget(GrRenderTarget* target) {
|
| - fRenderTarget.set(SkSafeRef(target), kWrite_GrIOType);
|
| - }
|
| + void setRenderTarget(GrRenderTarget* target) { fRenderTarget.reset(SkSafeRef(target)); }
|
|
|
| /// @}
|
|
|
| @@ -719,40 +717,9 @@ public:
|
|
|
| ///////////////////////////////////////////////////////////////////////////
|
|
|
| - /** Return type for CombineIfPossible. */
|
| - enum CombinedState {
|
| - /** The GrDrawStates cannot be combined. */
|
| - kIncompatible_CombinedState,
|
| - /** Either draw state can be used in place of the other. */
|
| - kAOrB_CombinedState,
|
| - /** Use the first draw state. */
|
| - kA_CombinedState,
|
| - /** Use the second draw state. */
|
| - kB_CombinedState,
|
| - };
|
| -
|
| - /** This function determines whether the GrDrawStates used for two draws can be combined into
|
| - a single GrDrawState. This is used to avoid storing redundant GrDrawStates and to determine
|
| - if draws can be batched. The return value indicates whether combining is possible and, if
|
| - so, which of the two inputs should be used. */
|
| - static CombinedState CombineIfPossible(const GrDrawState& a, const GrDrawState& b,
|
| - const GrDrawTargetCaps& caps);
|
| -
|
| GrDrawState& operator= (const GrDrawState& that);
|
|
|
| private:
|
| - /**
|
| - * Converts refs on GrGpuResources owned directly or indirectly by this GrDrawState into
|
| - * pending reads and writes. This should be called when a GrDrawState is recorded into
|
| - * a GrDrawTarget for later execution. Subclasses of GrDrawState may add setters. However,
|
| - * once this call has been made the GrDrawState is immutable. It is also no longer copyable.
|
| - * In the future this conversion will automatically happen when converting a GrDrawState into
|
| - * an optimized draw state.
|
| - */
|
| - void convertToPendingExec();
|
| -
|
| - friend class GrDrawTarget;
|
| -
|
| bool isEqual(const GrDrawState& that) const;
|
|
|
| /**
|
| @@ -836,29 +803,25 @@ private:
|
|
|
| void internalSetVertexAttribs(const GrVertexAttrib attribs[], int count, size_t stride);
|
|
|
| - typedef GrTGpuResourceRef<GrRenderTarget> ProgramRenderTarget;
|
| - // These fields are roughly sorted by decreasing likelihood of being different in op==
|
| - ProgramRenderTarget fRenderTarget;
|
| - GrColor fColor;
|
| - SkMatrix fViewMatrix;
|
| - GrColor fBlendConstant;
|
| - uint32_t fFlagBits;
|
| - const GrVertexAttrib* fVAPtr;
|
| - int fVACount;
|
| - size_t fVAStride;
|
| - GrStencilSettings fStencilSettings;
|
| - uint8_t fCoverage;
|
| - DrawFace fDrawFace;
|
| - GrBlendCoeff fSrcBlend;
|
| - GrBlendCoeff fDstBlend;
|
| -
|
| typedef SkSTArray<4, GrFragmentStage> FragmentStageArray;
|
| - typedef GrProgramElementRef<const GrGeometryProcessor> ProgramGeometryProcessor;
|
| - ProgramGeometryProcessor fGeometryProcessor;
|
| - FragmentStageArray fColorStages;
|
| - FragmentStageArray fCoverageStages;
|
|
|
| - uint32_t fHints;
|
| + SkAutoTUnref<GrRenderTarget> fRenderTarget;
|
| + GrColor fColor;
|
| + SkMatrix fViewMatrix;
|
| + GrColor fBlendConstant;
|
| + uint32_t fFlagBits;
|
| + const GrVertexAttrib* fVAPtr;
|
| + int fVACount;
|
| + size_t fVAStride;
|
| + GrStencilSettings fStencilSettings;
|
| + uint8_t fCoverage;
|
| + DrawFace fDrawFace;
|
| + GrBlendCoeff fSrcBlend;
|
| + GrBlendCoeff fDstBlend;
|
| + SkAutoTUnref<const GrGeometryProcessor> fGeometryProcessor;
|
| + FragmentStageArray fColorStages;
|
| + FragmentStageArray fCoverageStages;
|
| + uint32_t fHints;
|
|
|
| // This is simply a different representation of info in fVertexAttribs and thus does
|
| // not need to be compared in op==.
|
|
|