aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/GrRenderTargetOpList.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/gpu/GrRenderTargetOpList.h')
-rw-r--r--src/gpu/GrRenderTargetOpList.h27
1 files changed, 15 insertions, 12 deletions
diff --git a/src/gpu/GrRenderTargetOpList.h b/src/gpu/GrRenderTargetOpList.h
index e9850698f3..7f407824db 100644
--- a/src/gpu/GrRenderTargetOpList.h
+++ b/src/gpu/GrRenderTargetOpList.h
@@ -65,18 +65,19 @@ public:
void prepareOps(GrOpFlushState* flushState) override;
bool executeOps(GrOpFlushState* flushState) override;
- uint32_t addOp(std::unique_ptr<GrOp> op, const GrCaps& caps) {
- this->recordOp(std::move(op), caps, nullptr, nullptr);
+ uint32_t addOp(std::unique_ptr<GrOp> op, GrRenderTargetContext* renderTargetContext) {
+ this->recordOp(std::move(op), renderTargetContext, nullptr, nullptr);
return this->uniqueID();
}
- uint32_t addOp(std::unique_ptr<GrOp> op, const GrCaps& caps,
+ uint32_t addOp(std::unique_ptr<GrOp> op, GrRenderTargetContext* renderTargetContext,
GrAppliedClip&& clip, const DstTexture& dstTexture) {
- this->recordOp(std::move(op), caps, clip.doesClip() ? &clip : nullptr, &dstTexture);
+ this->recordOp(std::move(op), renderTargetContext, clip.doesClip() ? &clip : nullptr,
+ &dstTexture);
return this->uniqueID();
}
/** Clears the entire render target */
- void fullClear(const GrCaps& caps, GrColor color);
+ void fullClear(GrRenderTargetContext*, GrColor color);
/**
* Copies a pixel rectangle from one surface to another. This call may finalize
@@ -126,8 +127,8 @@ private:
// If the input op is combined with an earlier op, this returns the combined op. Otherwise, it
// returns the input op.
- GrOp* recordOp(std::unique_ptr<GrOp>, const GrCaps& caps,
- GrAppliedClip* = nullptr, const DstTexture* = nullptr);
+ GrOp* recordOp(std::unique_ptr<GrOp>, GrRenderTargetContext*, GrAppliedClip* = nullptr,
+ const DstTexture* = nullptr);
void forwardCombine(const GrCaps&);
@@ -135,20 +136,22 @@ private:
bool combineIfPossible(const RecordedOp& a, GrOp* b, const GrAppliedClip* bClip,
const DstTexture* bDstTexture, const GrCaps&);
- GrClearOp* fLastFullClearOp = nullptr;
+ GrClearOp* fLastFullClearOp = nullptr;
+ GrGpuResource::UniqueID fLastFullClearResourceID = GrGpuResource::UniqueID::InvalidID();
+ GrSurfaceProxy::UniqueID fLastFullClearProxyID = GrSurfaceProxy::UniqueID::InvalidID();
std::unique_ptr<gr_instanced::InstancedRendering> fInstancedRendering;
- int32_t fLastClipStackGenID;
- SkIRect fLastDevClipBounds;
+ int32_t fLastClipStackGenID;
+ SkIRect fLastDevClipBounds;
// For ops/opList we have mean: 5 stdDev: 28
SkSTArray<5, RecordedOp, true> fRecordedOps;
// MDB TODO: 4096 for the first allocation of the clip space will be huge overkill.
// Gather statistics to determine the correct size.
- SkArenaAlloc fClipAllocator{4096};
- SkDEBUGCODE(int fNumClips;)
+ SkArenaAlloc fClipAllocator{4096};
+ SkDEBUGCODE(int fNumClips;)
typedef GrOpList INHERITED;
};