Pass the writeView as a const-ref instead of a pointer …
The important part is in GrOpFlushState.h were previously
we were taking a mutable pointer to the view, which should
at least be a const pointer and was making us do funky things
in some of the calling code. But I decided to go all the way
and do a const ref instead which is The Way It Should Be (tm).
Change-Id: I399d102e8b5e0a5059168cc450ae66f12ad47e13
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/336451
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Adlai Holler <adlai@google.com>
diff --git a/src/gpu/GrOpFlushState.cpp b/src/gpu/GrOpFlushState.cpp
index df113ac..68e4c50 100644
--- a/src/gpu/GrOpFlushState.cpp
+++ b/src/gpu/GrOpFlushState.cpp
@@ -54,7 +54,7 @@
GrProgramInfo programInfo(this->proxy()->numSamples(),
this->proxy()->numStencilSamples(),
this->proxy()->backendFormat(),
- this->writeView()->origin(),
+ this->writeView().origin(),
pipeline,
userStencilSettings,
fCurrDraw->fGeometryProcessor,
diff --git a/src/gpu/GrOpFlushState.h b/src/gpu/GrOpFlushState.h
index d89c507..bbbaf35 100644
--- a/src/gpu/GrOpFlushState.h
+++ b/src/gpu/GrOpFlushState.h
@@ -58,23 +58,20 @@
/** Additional data required on a per-op basis when executing GrOps. */
struct OpArgs {
// TODO: why does OpArgs have the op we're going to pass it to as a member? Remove it.
- explicit OpArgs(GrOp* op, GrSurfaceProxyView* surfaceView, GrAppliedClip* appliedClip,
+ explicit OpArgs(GrOp* op, const GrSurfaceProxyView& surfaceView, GrAppliedClip* appliedClip,
const GrXferProcessor::DstProxyView& dstProxyView,
GrXferBarrierFlags renderPassXferBarriers)
: fOp(op)
, fSurfaceView(surfaceView)
- , fRenderTargetProxy(surfaceView->asRenderTargetProxy())
+ , fRenderTargetProxy(surfaceView.asRenderTargetProxy())
, fAppliedClip(appliedClip)
, fDstProxyView(dstProxyView)
, fRenderPassXferBarriers(renderPassXferBarriers) {
- SkASSERT(surfaceView->asRenderTargetProxy());
+ SkASSERT(surfaceView.asRenderTargetProxy());
}
- GrSurfaceOrigin origin() const { return fSurfaceView->origin(); }
- GrSwizzle writeSwizzle() const { return fSurfaceView->swizzle(); }
-
GrOp* op() { return fOp; }
- const GrSurfaceProxyView* writeView() const { return fSurfaceView; }
+ const GrSurfaceProxyView& writeView() const { return fSurfaceView; }
GrRenderTargetProxy* proxy() const { return fRenderTargetProxy; }
GrAppliedClip* appliedClip() { return fAppliedClip; }
const GrAppliedClip* appliedClip() const { return fAppliedClip; }
@@ -90,7 +87,7 @@
private:
GrOp* fOp;
- GrSurfaceProxyView* fSurfaceView;
+ const GrSurfaceProxyView& fSurfaceView;
GrRenderTargetProxy* fRenderTargetProxy;
GrAppliedClip* fAppliedClip;
GrXferProcessor::DstProxyView fDstProxyView; // TODO: do we still need the dst proxy here?
@@ -144,7 +141,7 @@
}
void putBackIndices(int indexCount) final;
void putBackVertices(int vertices, size_t vertexStride) final;
- const GrSurfaceProxyView* writeView() const final { return this->drawOpArgs().writeView(); }
+ const GrSurfaceProxyView& writeView() const final { return this->drawOpArgs().writeView(); }
GrRenderTargetProxy* proxy() const final { return this->drawOpArgs().proxy(); }
const GrAppliedClip* appliedClip() const final { return this->drawOpArgs().appliedClip(); }
const GrAppliedHardClip& appliedHardClip() const {
diff --git a/src/gpu/GrOpsTask.cpp b/src/gpu/GrOpsTask.cpp
index fcbc5a4..7c6b41f 100644
--- a/src/gpu/GrOpsTask.cpp
+++ b/src/gpu/GrOpsTask.cpp
@@ -451,7 +451,7 @@
for (const auto& chain : fOpChains) {
if (chain.shouldExecute()) {
chain.head()->prePrepare(context,
- &fTargets[0],
+ this->target(0),
chain.appliedClip(),
chain.dstProxyView(),
fRenderPassXferBarriers);
@@ -481,7 +481,7 @@
TRACE_EVENT0("skia.gpu", chain.head()->name());
#endif
GrOpFlushState::OpArgs opArgs(chain.head(),
- &fTargets[0],
+ this->target(0),
chain.appliedClip(),
chain.dstProxyView(),
fRenderPassXferBarriers);
@@ -633,7 +633,7 @@
#endif
GrOpFlushState::OpArgs opArgs(chain.head(),
- &fTargets[0],
+ this->target(0),
chain.appliedClip(),
chain.dstProxyView(),
fRenderPassXferBarriers);
diff --git a/src/gpu/ccpr/GrCCCoverageProcessor.cpp b/src/gpu/ccpr/GrCCCoverageProcessor.cpp
index 5c382e2..d8603e5 100644
--- a/src/gpu/ccpr/GrCCCoverageProcessor.cpp
+++ b/src/gpu/ccpr/GrCCCoverageProcessor.cpp
@@ -201,7 +201,7 @@
GrProgramInfo programInfo(flushState->proxy()->numSamples(),
flushState->proxy()->numStencilSamples(),
flushState->proxy()->backendFormat(),
- flushState->writeView()->origin(), &pipeline, stencil, this,
+ flushState->writeView().origin(), &pipeline, stencil, this,
this->primType(), 0, flushState->renderPassBarriers());
flushState->bindPipeline(programInfo, drawBounds);
}
diff --git a/src/gpu/ccpr/GrCCDrawPathsOp.cpp b/src/gpu/ccpr/GrCCDrawPathsOp.cpp
index 77090a3..3945396 100644
--- a/src/gpu/ccpr/GrCCDrawPathsOp.cpp
+++ b/src/gpu/ccpr/GrCCDrawPathsOp.cpp
@@ -449,7 +449,7 @@
GrPipeline::InitArgs initArgs;
initArgs.fCaps = &flushState->caps();
initArgs.fDstProxyView = flushState->drawOpArgs().dstProxyView();
- initArgs.fWriteSwizzle = flushState->drawOpArgs().writeSwizzle();
+ initArgs.fWriteSwizzle = flushState->drawOpArgs().writeView().swizzle();
auto clip = flushState->detachAppliedClip();
GrPipeline pipeline(initArgs, std::move(fProcessors), std::move(clip));
diff --git a/src/gpu/ccpr/GrCCDrawPathsOp.h b/src/gpu/ccpr/GrCCDrawPathsOp.h
index 44fe748..8bf9cb3 100644
--- a/src/gpu/ccpr/GrCCDrawPathsOp.h
+++ b/src/gpu/ccpr/GrCCDrawPathsOp.h
@@ -72,7 +72,7 @@
private:
void onPrePrepare(GrRecordingContext*,
- const GrSurfaceProxyView* writeView,
+ const GrSurfaceProxyView& writeView,
GrAppliedClip*,
const GrXferProcessor::DstProxyView&,
GrXferBarrierFlags renderPassXferBarriers) override {}
diff --git a/src/gpu/ccpr/GrCCPathProcessor.cpp b/src/gpu/ccpr/GrCCPathProcessor.cpp
index fcae131..604afde 100644
--- a/src/gpu/ccpr/GrCCPathProcessor.cpp
+++ b/src/gpu/ccpr/GrCCPathProcessor.cpp
@@ -146,7 +146,7 @@
GrRenderTargetProxy* rtProxy = flushState->proxy();
GrProgramInfo programInfo(rtProxy->numSamples(), rtProxy->numStencilSamples(),
- rtProxy->backendFormat(), flushState->writeView()->origin(),
+ rtProxy->backendFormat(), flushState->writeView().origin(),
&pipeline, &GrUserStencilSettings::kUnused, this, primitiveType, 0,
flushState->renderPassBarriers());
diff --git a/src/gpu/ccpr/GrCCPerFlushResources.cpp b/src/gpu/ccpr/GrCCPerFlushResources.cpp
index 5970303..a257c15 100644
--- a/src/gpu/ccpr/GrCCPerFlushResources.cpp
+++ b/src/gpu/ccpr/GrCCPerFlushResources.cpp
@@ -57,7 +57,7 @@
private:
void onPrePrepare(GrRecordingContext*,
- const GrSurfaceProxyView* writeView,
+ const GrSurfaceProxyView& writeView,
GrAppliedClip*,
const GrXferProcessor::DstProxyView&,
GrXferBarrierFlags renderPassXferBarriers) final {}
@@ -98,7 +98,7 @@
bool hasScissor = flushState->appliedClip() &&
flushState->appliedClip()->scissorState().enabled();
GrPipeline pipeline(hasScissor ? GrScissorTest::kEnabled : GrScissorTest::kDisabled,
- SkBlendMode::kSrc, flushState->drawOpArgs().writeSwizzle());
+ SkBlendMode::kSrc, flushState->drawOpArgs().writeView().swizzle());
pathProc.drawPaths(flushState, pipeline, *fSrcProxy, *fResources, fBaseInstance,
fEndInstance, this->bounds());
@@ -137,7 +137,7 @@
void onExecute(GrOpFlushState* flushState, const SkRect& chainBounds) override {
ProcessorType proc;
GrPipeline pipeline(GrScissorTest::kEnabled, SkBlendMode::kPlus,
- flushState->drawOpArgs().writeSwizzle());
+ flushState->drawOpArgs().writeView().swizzle());
fResources->filler().drawFills(flushState, &proc, pipeline, fFillBatchID, fDrawBounds);
fResources->stroker().drawStrokes(flushState, &proc, fStrokeBatchID, fDrawBounds);
}
diff --git a/src/gpu/ccpr/GrCCStroker.cpp b/src/gpu/ccpr/GrCCStroker.cpp
index debb8d4..6a39368 100644
--- a/src/gpu/ccpr/GrCCStroker.cpp
+++ b/src/gpu/ccpr/GrCCStroker.cpp
@@ -692,7 +692,7 @@
? &fZeroTallies : fScissorSubBatches[startScissorSubBatch - 1].fEndInstances;
GrPipeline pipeline(GrScissorTest::kEnabled, SkBlendMode::kPlus,
- flushState->drawOpArgs().writeSwizzle());
+ flushState->drawOpArgs().writeView().swizzle());
// Draw linear strokes.
this->drawLog2Strokes(0, flushState, LinearStrokeProcessor(), pipeline, batch, startIndices,
@@ -729,7 +729,7 @@
GrProgramInfo programInfo(flushState->proxy()->numSamples(),
flushState->proxy()->numStencilSamples(),
flushState->proxy()->backendFormat(),
- flushState->writeView()->origin(), &pipeline,
+ flushState->writeView().origin(), &pipeline,
&GrUserStencilSettings::kUnused, &processor,
GrPrimitiveType::kTriangleStrip, 0, flushState->renderPassBarriers());
diff --git a/src/gpu/ccpr/GrStencilAtlasOp.cpp b/src/gpu/ccpr/GrStencilAtlasOp.cpp
index 35303c4..60110a8 100644
--- a/src/gpu/ccpr/GrStencilAtlasOp.cpp
+++ b/src/gpu/ccpr/GrStencilAtlasOp.cpp
@@ -140,7 +140,7 @@
SkIRect drawBoundsRect = SkIRect::MakeWH(fDrawBounds.width(), fDrawBounds.height());
GrPipeline pipeline(GrScissorTest::kEnabled, GrDisableColorXPFactory::MakeXferProcessor(),
- flushState->drawOpArgs().writeSwizzle(),
+ flushState->drawOpArgs().writeView().swizzle(),
GrPipeline::InputFlags::kHWAntialias);
GrSampleMaskProcessor sampleMaskProc;
@@ -153,7 +153,7 @@
constexpr auto noHWAA = GrPipeline::InputFlags::kNone;
GrPipeline resolvePipeline(GrScissorTest::kEnabled, SkBlendMode::kSrc,
- flushState->drawOpArgs().writeSwizzle(), noHWAA);
+ flushState->drawOpArgs().writeView().swizzle(), noHWAA);
StencilResolveProcessor primProc;
if (!flushState->caps().twoSidedStencilRefsAndMasksMustMatch()) {
@@ -181,7 +181,7 @@
GrProgramInfo programInfo(flushState->proxy()->numSamples(),
flushState->proxy()->numStencilSamples(),
flushState->proxy()->backendFormat(),
- flushState->writeView()->origin(), &resolvePipeline, stencil,
+ flushState->writeView().origin(), &resolvePipeline, stencil,
&primProc, GrPrimitiveType::kTriangleStrip, 0,
flushState->renderPassBarriers());
flushState->bindPipeline(programInfo, SkRect::Make(drawBounds));
diff --git a/src/gpu/ccpr/GrStencilAtlasOp.h b/src/gpu/ccpr/GrStencilAtlasOp.h
index 161c33a..4ac89c5 100644
--- a/src/gpu/ccpr/GrStencilAtlasOp.h
+++ b/src/gpu/ccpr/GrStencilAtlasOp.h
@@ -53,7 +53,7 @@
private:
void onPrePrepare(GrRecordingContext*,
- const GrSurfaceProxyView* writeView,
+ const GrSurfaceProxyView& writeView,
GrAppliedClip*,
const GrXferProcessor::DstProxyView&,
GrXferBarrierFlags renderPassXferBarriers) override {}
diff --git a/src/gpu/mock/GrMockOpTarget.h b/src/gpu/mock/GrMockOpTarget.h
index 0fa1775..7a8be01 100644
--- a/src/gpu/mock/GrMockOpTarget.h
+++ b/src/gpu/mock/GrMockOpTarget.h
@@ -82,7 +82,7 @@
UNIMPL(uint16_t* makeIndexSpaceAtLeast(int, int, sk_sp<const GrBuffer>*, int*, int*))
UNIMPL(void putBackIndices(int))
UNIMPL(GrRenderTargetProxy* proxy() const)
- UNIMPL(const GrSurfaceProxyView* writeView() const)
+ UNIMPL(const GrSurfaceProxyView& writeView() const)
UNIMPL(const GrAppliedClip* appliedClip() const)
UNIMPL(GrStrikeCache* strikeCache() const)
UNIMPL(GrAtlasManager* atlasManager() const)
diff --git a/src/gpu/ops/GrAAConvexPathRenderer.cpp b/src/gpu/ops/GrAAConvexPathRenderer.cpp
index c017c40..2c36df3 100644
--- a/src/gpu/ops/GrAAConvexPathRenderer.cpp
+++ b/src/gpu/ops/GrAAConvexPathRenderer.cpp
@@ -740,7 +740,7 @@
void onCreateProgramInfo(const GrCaps* caps,
SkArenaAlloc* arena,
- const GrSurfaceProxyView* writeView,
+ const GrSurfaceProxyView& writeView,
GrAppliedClip&& appliedClip,
const GrXferProcessor::DstProxyView& dstProxyView,
GrXferBarrierFlags renderPassXferBarriers) override {
diff --git a/src/gpu/ops/GrAAHairLinePathRenderer.cpp b/src/gpu/ops/GrAAHairLinePathRenderer.cpp
index 5e8e419..ecb70e5 100644
--- a/src/gpu/ops/GrAAHairLinePathRenderer.cpp
+++ b/src/gpu/ops/GrAAHairLinePathRenderer.cpp
@@ -876,17 +876,17 @@
private:
void makeLineProgramInfo(const GrCaps&, SkArenaAlloc*, const GrPipeline*,
- const GrSurfaceProxyView* writeView,
+ const GrSurfaceProxyView& writeView,
const SkMatrix* geometryProcessorViewM,
const SkMatrix* geometryProcessorLocalM,
GrXferBarrierFlags renderPassXferBarriers);
void makeQuadProgramInfo(const GrCaps&, SkArenaAlloc*, const GrPipeline*,
- const GrSurfaceProxyView* writeView,
+ const GrSurfaceProxyView& writeView,
const SkMatrix* geometryProcessorViewM,
const SkMatrix* geometryProcessorLocalM,
GrXferBarrierFlags renderPassXferBarriers);
void makeConicProgramInfo(const GrCaps&, SkArenaAlloc*, const GrPipeline*,
- const GrSurfaceProxyView* writeView,
+ const GrSurfaceProxyView& writeView,
const SkMatrix* geometryProcessorViewM,
const SkMatrix* geometryProcessorLocalM,
GrXferBarrierFlags renderPassXferBarriers);
@@ -902,13 +902,13 @@
void onCreateProgramInfo(const GrCaps*,
SkArenaAlloc*,
- const GrSurfaceProxyView* writeView,
+ const GrSurfaceProxyView& writeView,
GrAppliedClip&&,
const GrXferProcessor::DstProxyView&,
GrXferBarrierFlags renderPassXferBarriers) override;
void onPrePrepareDraws(GrRecordingContext*,
- const GrSurfaceProxyView* writeView,
+ const GrSurfaceProxyView& writeView,
GrAppliedClip*,
const GrXferProcessor::DstProxyView&,
GrXferBarrierFlags renderPassXferBarriers) override;
@@ -992,7 +992,7 @@
void AAHairlineOp::makeLineProgramInfo(const GrCaps& caps, SkArenaAlloc* arena,
const GrPipeline* pipeline,
- const GrSurfaceProxyView* writeView,
+ const GrSurfaceProxyView& writeView,
const SkMatrix* geometryProcessorViewM,
const SkMatrix* geometryProcessorLocalM,
GrXferBarrierFlags renderPassXferBarriers) {
@@ -1024,7 +1024,7 @@
void AAHairlineOp::makeQuadProgramInfo(const GrCaps& caps, SkArenaAlloc* arena,
const GrPipeline* pipeline,
- const GrSurfaceProxyView* writeView,
+ const GrSurfaceProxyView& writeView,
const SkMatrix* geometryProcessorViewM,
const SkMatrix* geometryProcessorLocalM,
GrXferBarrierFlags renderPassXferBarriers) {
@@ -1048,7 +1048,7 @@
void AAHairlineOp::makeConicProgramInfo(const GrCaps& caps, SkArenaAlloc* arena,
const GrPipeline* pipeline,
- const GrSurfaceProxyView* writeView,
+ const GrSurfaceProxyView& writeView,
const SkMatrix* geometryProcessorViewM,
const SkMatrix* geometryProcessorLocalM,
GrXferBarrierFlags renderPassXferBarriers) {
@@ -1098,7 +1098,7 @@
void AAHairlineOp::onCreateProgramInfo(const GrCaps* caps,
SkArenaAlloc* arena,
- const GrSurfaceProxyView* writeView,
+ const GrSurfaceProxyView& writeView,
GrAppliedClip&& appliedClip,
const GrXferProcessor::DstProxyView& dstProxyView,
GrXferBarrierFlags renderPassXferBarriers) {
@@ -1117,7 +1117,7 @@
geometryProcessorLocalM = &SkMatrix::I();
}
- auto pipeline = fHelper.createPipeline(caps, arena, writeView->swizzle(),
+ auto pipeline = fHelper.createPipeline(caps, arena, writeView.swizzle(),
std::move(appliedClip), dstProxyView);
if (fCharacterization & kLine_Program) {
@@ -1139,7 +1139,7 @@
}
void AAHairlineOp::onPrePrepareDraws(GrRecordingContext* context,
- const GrSurfaceProxyView* writeView,
+ const GrSurfaceProxyView& writeView,
GrAppliedClip* clip,
const GrXferProcessor::DstProxyView& dstProxyView,
GrXferBarrierFlags renderPassXferBarriers) {
diff --git a/src/gpu/ops/GrAALinearizingConvexPathRenderer.cpp b/src/gpu/ops/GrAALinearizingConvexPathRenderer.cpp
index 553e710..6e691a7 100644
--- a/src/gpu/ops/GrAALinearizingConvexPathRenderer.cpp
+++ b/src/gpu/ops/GrAALinearizingConvexPathRenderer.cpp
@@ -202,7 +202,7 @@
void onCreateProgramInfo(const GrCaps* caps,
SkArenaAlloc* arena,
- const GrSurfaceProxyView* writeView,
+ const GrSurfaceProxyView& writeView,
GrAppliedClip&& appliedClip,
const GrXferProcessor::DstProxyView& dstProxyView,
GrXferBarrierFlags renderPassXferBarriers) override {
diff --git a/src/gpu/ops/GrAtlasTextOp.h b/src/gpu/ops/GrAtlasTextOp.h
index 37590ab..3b9a6ba 100644
--- a/src/gpu/ops/GrAtlasTextOp.h
+++ b/src/gpu/ops/GrAtlasTextOp.h
@@ -112,7 +112,7 @@
void onCreateProgramInfo(const GrCaps*,
SkArenaAlloc*,
- const GrSurfaceProxyView* writeView,
+ const GrSurfaceProxyView& writeView,
GrAppliedClip&&,
const GrXferProcessor::DstProxyView&,
GrXferBarrierFlags renderPassXferBarriers) override {
@@ -122,7 +122,7 @@
}
void onPrePrepareDraws(GrRecordingContext*,
- const GrSurfaceProxyView* writeView,
+ const GrSurfaceProxyView& writeView,
GrAppliedClip*,
const GrXferProcessor::DstProxyView&,
GrXferBarrierFlags renderPassXferBarriers) override {
diff --git a/src/gpu/ops/GrClearOp.h b/src/gpu/ops/GrClearOp.h
index 57d081e..a706974 100644
--- a/src/gpu/ops/GrClearOp.h
+++ b/src/gpu/ops/GrClearOp.h
@@ -45,7 +45,7 @@
CombineResult onCombineIfPossible(GrOp* t, SkArenaAlloc*, const GrCaps& caps) override;
- void onPrePrepare(GrRecordingContext*, const GrSurfaceProxyView* writeView, GrAppliedClip*,
+ void onPrePrepare(GrRecordingContext*, const GrSurfaceProxyView& writeView, GrAppliedClip*,
const GrXferProcessor::DstProxyView&,
GrXferBarrierFlags renderPassXferBarriers) override {}
diff --git a/src/gpu/ops/GrDashOp.cpp b/src/gpu/ops/GrDashOp.cpp
index f2a08b5..2cce0d9 100644
--- a/src/gpu/ops/GrDashOp.cpp
+++ b/src/gpu/ops/GrDashOp.cpp
@@ -317,7 +317,7 @@
void onCreateProgramInfo(const GrCaps* caps,
SkArenaAlloc* arena,
- const GrSurfaceProxyView* writeView,
+ const GrSurfaceProxyView& writeView,
GrAppliedClip&& appliedClip,
const GrXferProcessor::DstProxyView& dstProxyView,
GrXferBarrierFlags renderPassXferBarriers) override {
diff --git a/src/gpu/ops/GrDefaultPathRenderer.cpp b/src/gpu/ops/GrDefaultPathRenderer.cpp
index bdc28d4..12d46a9 100644
--- a/src/gpu/ops/GrDefaultPathRenderer.cpp
+++ b/src/gpu/ops/GrDefaultPathRenderer.cpp
@@ -418,7 +418,7 @@
void onCreateProgramInfo(const GrCaps* caps,
SkArenaAlloc* arena,
- const GrSurfaceProxyView* writeView,
+ const GrSurfaceProxyView& writeView,
GrAppliedClip&& appliedClip,
const GrXferProcessor::DstProxyView& dstProxyView,
GrXferBarrierFlags renderPassXferBarriers) override {
diff --git a/src/gpu/ops/GrDrawAtlasOp.cpp b/src/gpu/ops/GrDrawAtlasOp.cpp
index b67eae7..d035a50 100644
--- a/src/gpu/ops/GrDrawAtlasOp.cpp
+++ b/src/gpu/ops/GrDrawAtlasOp.cpp
@@ -54,7 +54,7 @@
void onCreateProgramInfo(const GrCaps*,
SkArenaAlloc*,
- const GrSurfaceProxyView* writeView,
+ const GrSurfaceProxyView& writeView,
GrAppliedClip&&,
const GrXferProcessor::DstProxyView&,
GrXferBarrierFlags renderPassXferBarriers) override;
@@ -200,7 +200,7 @@
void DrawAtlasOp::onCreateProgramInfo(const GrCaps* caps,
SkArenaAlloc* arena,
- const GrSurfaceProxyView* writeView,
+ const GrSurfaceProxyView& writeView,
GrAppliedClip&& appliedClip,
const GrXferProcessor::DstProxyView& dstProxyView,
GrXferBarrierFlags renderPassXferBarriers) {
diff --git a/src/gpu/ops/GrDrawPathOp.cpp b/src/gpu/ops/GrDrawPathOp.cpp
index 936ef82..151ab6c 100644
--- a/src/gpu/ops/GrDrawPathOp.cpp
+++ b/src/gpu/ops/GrDrawPathOp.cpp
@@ -89,7 +89,7 @@
GrProgramInfo programInfo(proxy->numSamples(),
proxy->numStencilSamples(),
proxy->backendFormat(),
- flushState->writeView()->origin(),
+ flushState->writeView().origin(),
pipeline,
&kCoverPass,
pathProc.get(),
diff --git a/src/gpu/ops/GrDrawPathOp.h b/src/gpu/ops/GrDrawPathOp.h
index 366c99a..7fa76aa 100644
--- a/src/gpu/ops/GrDrawPathOp.h
+++ b/src/gpu/ops/GrDrawPathOp.h
@@ -55,7 +55,7 @@
private:
void onPrePrepare(GrRecordingContext*,
- const GrSurfaceProxyView* writeView,
+ const GrSurfaceProxyView& writeView,
GrAppliedClip*,
const GrXferProcessor::DstProxyView&,
GrXferBarrierFlags renderPassXferBarriers) final {}
diff --git a/src/gpu/ops/GrDrawVerticesOp.cpp b/src/gpu/ops/GrDrawVerticesOp.cpp
index 7a29937..027b718 100644
--- a/src/gpu/ops/GrDrawVerticesOp.cpp
+++ b/src/gpu/ops/GrDrawVerticesOp.cpp
@@ -465,7 +465,7 @@
void onCreateProgramInfo(const GrCaps*,
SkArenaAlloc*,
- const GrSurfaceProxyView* writeView,
+ const GrSurfaceProxyView& writeView,
GrAppliedClip&&,
const GrXferProcessor::DstProxyView&,
GrXferBarrierFlags renderPassXferBarriers) override;
@@ -633,7 +633,7 @@
void DrawVerticesOp::onCreateProgramInfo(const GrCaps* caps,
SkArenaAlloc* arena,
- const GrSurfaceProxyView* writeView,
+ const GrSurfaceProxyView& writeView,
GrAppliedClip&& appliedClip,
const GrXferProcessor::DstProxyView& dstProxyView,
GrXferBarrierFlags renderPassXferBarriers) {
diff --git a/src/gpu/ops/GrDrawableOp.h b/src/gpu/ops/GrDrawableOp.h
index 61d7925..0ad6a58 100644
--- a/src/gpu/ops/GrDrawableOp.h
+++ b/src/gpu/ops/GrDrawableOp.h
@@ -36,7 +36,7 @@
}
void onPrePrepare(GrRecordingContext*,
- const GrSurfaceProxyView* writeView,
+ const GrSurfaceProxyView& writeView,
GrAppliedClip*,
const GrXferProcessor::DstProxyView&,
GrXferBarrierFlags renderPassXferBarriers) override {}
diff --git a/src/gpu/ops/GrFillRRectOp.cpp b/src/gpu/ops/GrFillRRectOp.cpp
index 0a78811..3131bf6 100644
--- a/src/gpu/ops/GrFillRRectOp.cpp
+++ b/src/gpu/ops/GrFillRRectOp.cpp
@@ -102,7 +102,7 @@
// Create a GrProgramInfo object in the provided arena
void onCreateProgramInfo(const GrCaps*,
SkArenaAlloc*,
- const GrSurfaceProxyView* writeView,
+ const GrSurfaceProxyView& writeView,
GrAppliedClip&&,
const GrXferProcessor::DstProxyView&,
GrXferBarrierFlags renderPassXferBarriers) final;
@@ -852,7 +852,7 @@
void FillRRectOp::onCreateProgramInfo(const GrCaps* caps,
SkArenaAlloc* arena,
- const GrSurfaceProxyView* writeView,
+ const GrSurfaceProxyView& writeView,
GrAppliedClip&& appliedClip,
const GrXferProcessor::DstProxyView& dstProxyView,
GrXferBarrierFlags renderPassXferBarriers) {
diff --git a/src/gpu/ops/GrFillRectOp.cpp b/src/gpu/ops/GrFillRectOp.cpp
index cfbb444..b0fa5f0 100644
--- a/src/gpu/ops/GrFillRectOp.cpp
+++ b/src/gpu/ops/GrFillRectOp.cpp
@@ -203,7 +203,7 @@
void onCreateProgramInfo(const GrCaps* caps,
SkArenaAlloc* arena,
- const GrSurfaceProxyView* writeView,
+ const GrSurfaceProxyView& writeView,
GrAppliedClip&& appliedClip,
const GrXferProcessor::DstProxyView& dstProxyView,
GrXferBarrierFlags renderPassXferBarriers) override {
@@ -220,7 +220,7 @@
}
void onPrePrepareDraws(GrRecordingContext* rContext,
- const GrSurfaceProxyView* writeView,
+ const GrSurfaceProxyView& writeView,
GrAppliedClip* clip,
const GrXferProcessor::DstProxyView& dstProxyView,
GrXferBarrierFlags renderPassXferBarriers) override {
diff --git a/src/gpu/ops/GrLatticeOp.cpp b/src/gpu/ops/GrLatticeOp.cpp
index fa75789..bc61928 100644
--- a/src/gpu/ops/GrLatticeOp.cpp
+++ b/src/gpu/ops/GrLatticeOp.cpp
@@ -195,7 +195,7 @@
void onCreateProgramInfo(const GrCaps* caps,
SkArenaAlloc* arena,
- const GrSurfaceProxyView* writeView,
+ const GrSurfaceProxyView& writeView,
GrAppliedClip&& appliedClip,
const GrXferProcessor::DstProxyView& dstProxyView,
GrXferBarrierFlags renderPassXferBarriers) override {
diff --git a/src/gpu/ops/GrMeshDrawOp.cpp b/src/gpu/ops/GrMeshDrawOp.cpp
index d09fa6a..05c3848 100644
--- a/src/gpu/ops/GrMeshDrawOp.cpp
+++ b/src/gpu/ops/GrMeshDrawOp.cpp
@@ -28,7 +28,7 @@
// This onPrepareDraws implementation assumes the derived Op only has a single programInfo -
// which is the majority of the cases.
void GrMeshDrawOp::onPrePrepareDraws(GrRecordingContext* context,
- const GrSurfaceProxyView* writeView,
+ const GrSurfaceProxyView& writeView,
GrAppliedClip* clip,
const GrXferProcessor::DstProxyView& dstProxyView,
GrXferBarrierFlags renderPassXferBarriers) {
diff --git a/src/gpu/ops/GrMeshDrawOp.h b/src/gpu/ops/GrMeshDrawOp.h
index 26b2c1b..edde3c8 100644
--- a/src/gpu/ops/GrMeshDrawOp.h
+++ b/src/gpu/ops/GrMeshDrawOp.h
@@ -39,7 +39,7 @@
void createProgramInfo(const GrCaps* caps,
SkArenaAlloc* arena,
- const GrSurfaceProxyView* writeView,
+ const GrSurfaceProxyView& writeView,
GrAppliedClip&& appliedClip,
const GrXferProcessor::DstProxyView& dstProxyView,
GrXferBarrierFlags renderPassXferBarriers) {
@@ -103,7 +103,7 @@
}
virtual void onPrePrepareDraws(GrRecordingContext*,
- const GrSurfaceProxyView* writeView,
+ const GrSurfaceProxyView& writeView,
GrAppliedClip*,
const GrXferProcessor::DstProxyView&,
GrXferBarrierFlags renderPassXferBarriers);
@@ -114,13 +114,13 @@
// by this op.
virtual void onCreateProgramInfo(const GrCaps*,
SkArenaAlloc*,
- const GrSurfaceProxyView* writeView,
+ const GrSurfaceProxyView& writeView,
GrAppliedClip&&,
const GrXferProcessor::DstProxyView&,
GrXferBarrierFlags renderPassXferBarriers) = 0;
void onPrePrepare(GrRecordingContext* context,
- const GrSurfaceProxyView* writeView,
+ const GrSurfaceProxyView& writeView,
GrAppliedClip* clip,
const GrXferProcessor::DstProxyView& dstProxyView,
GrXferBarrierFlags renderPassXferBarriers) final {
@@ -216,7 +216,7 @@
}
virtual GrRenderTargetProxy* proxy() const = 0;
- virtual const GrSurfaceProxyView* writeView() const = 0;
+ virtual const GrSurfaceProxyView& writeView() const = 0;
virtual const GrAppliedClip* appliedClip() const = 0;
virtual GrAppliedClip detachAppliedClip() = 0;
diff --git a/src/gpu/ops/GrOp.h b/src/gpu/ops/GrOp.h
index 9970426..7875a3a 100644
--- a/src/gpu/ops/GrOp.h
+++ b/src/gpu/ops/GrOp.h
@@ -208,8 +208,8 @@
* onPrePrepare must be prepared to handle both cases (when onPrePrepare has been called
* ahead of time and when it has not been called).
*/
- void prePrepare(GrRecordingContext* context, GrSurfaceProxyView* dstView, GrAppliedClip* clip,
- const GrXferProcessor::DstProxyView& dstProxyView,
+ void prePrepare(GrRecordingContext* context, const GrSurfaceProxyView& dstView,
+ GrAppliedClip* clip, const GrXferProcessor::DstProxyView& dstProxyView,
GrXferBarrierFlags renderPassXferBarriers) {
this->onPrePrepare(context, dstView, clip, dstProxyView, renderPassXferBarriers);
}
@@ -341,7 +341,7 @@
// TODO: the parameters to onPrePrepare mirror GrOpFlushState::OpArgs - fuse the two?
virtual void onPrePrepare(GrRecordingContext*,
- const GrSurfaceProxyView* writeView,
+ const GrSurfaceProxyView& writeView,
GrAppliedClip*,
const GrXferProcessor::DstProxyView&,
GrXferBarrierFlags renderPassXferBarriers) = 0;
diff --git a/src/gpu/ops/GrOvalOpFactory.cpp b/src/gpu/ops/GrOvalOpFactory.cpp
index 7b013c8..edf9188 100644
--- a/src/gpu/ops/GrOvalOpFactory.cpp
+++ b/src/gpu/ops/GrOvalOpFactory.cpp
@@ -1241,7 +1241,7 @@
void onCreateProgramInfo(const GrCaps* caps,
SkArenaAlloc* arena,
- const GrSurfaceProxyView* writeView,
+ const GrSurfaceProxyView& writeView,
GrAppliedClip&& appliedClip,
const GrXferProcessor::DstProxyView& dstProxyView,
GrXferBarrierFlags renderPassXferBarriers) override {
@@ -1603,7 +1603,7 @@
void onCreateProgramInfo(const GrCaps* caps,
SkArenaAlloc* arena,
- const GrSurfaceProxyView* writeView,
+ const GrSurfaceProxyView& writeView,
GrAppliedClip&& appliedClip,
const GrXferProcessor::DstProxyView& dstProxyView,
GrXferBarrierFlags renderPassXferBarriers) override {
@@ -1936,7 +1936,7 @@
void onCreateProgramInfo(const GrCaps* caps,
SkArenaAlloc* arena,
- const GrSurfaceProxyView* writeView,
+ const GrSurfaceProxyView& writeView,
GrAppliedClip&& appliedClip,
const GrXferProcessor::DstProxyView& dstProxyView,
GrXferBarrierFlags renderPassXferBarriers) override {
@@ -2212,7 +2212,7 @@
void onCreateProgramInfo(const GrCaps* caps,
SkArenaAlloc* arena,
- const GrSurfaceProxyView* writeView,
+ const GrSurfaceProxyView& writeView,
GrAppliedClip&& appliedClip,
const GrXferProcessor::DstProxyView& dstProxyView,
GrXferBarrierFlags renderPassXferBarriers) override {
@@ -2610,7 +2610,7 @@
void onCreateProgramInfo(const GrCaps* caps,
SkArenaAlloc* arena,
- const GrSurfaceProxyView* writeView,
+ const GrSurfaceProxyView& writeView,
GrAppliedClip&& appliedClip,
const GrXferProcessor::DstProxyView& dstProxyView,
GrXferBarrierFlags renderPassXferBarriers) override {
@@ -2933,7 +2933,7 @@
void onCreateProgramInfo(const GrCaps* caps,
SkArenaAlloc* arena,
- const GrSurfaceProxyView* writeView,
+ const GrSurfaceProxyView& writeView,
GrAppliedClip&& appliedClip,
const GrXferProcessor::DstProxyView& dstProxyView,
GrXferBarrierFlags renderPassXferBarriers) override {
diff --git a/src/gpu/ops/GrRegionOp.cpp b/src/gpu/ops/GrRegionOp.cpp
index f865339..99c6fd1 100644
--- a/src/gpu/ops/GrRegionOp.cpp
+++ b/src/gpu/ops/GrRegionOp.cpp
@@ -87,7 +87,7 @@
void onCreateProgramInfo(const GrCaps* caps,
SkArenaAlloc* arena,
- const GrSurfaceProxyView* writeView,
+ const GrSurfaceProxyView& writeView,
GrAppliedClip&& appliedClip,
const GrXferProcessor::DstProxyView& dstProxyView,
GrXferBarrierFlags renderPassXferBarriers) override {
diff --git a/src/gpu/ops/GrShadowRRectOp.cpp b/src/gpu/ops/GrShadowRRectOp.cpp
index 0e955f5..6d335ce 100644
--- a/src/gpu/ops/GrShadowRRectOp.cpp
+++ b/src/gpu/ops/GrShadowRRectOp.cpp
@@ -528,7 +528,7 @@
void onCreateProgramInfo(const GrCaps* caps,
SkArenaAlloc* arena,
- const GrSurfaceProxyView* writeView,
+ const GrSurfaceProxyView& writeView,
GrAppliedClip&& appliedClip,
const GrXferProcessor::DstProxyView& dstProxyView,
GrXferBarrierFlags renderPassXferBarriers) override {
diff --git a/src/gpu/ops/GrSimpleMeshDrawOpHelper.cpp b/src/gpu/ops/GrSimpleMeshDrawOpHelper.cpp
index d52f51e..7f13449 100644
--- a/src/gpu/ops/GrSimpleMeshDrawOpHelper.cpp
+++ b/src/gpu/ops/GrSimpleMeshDrawOpHelper.cpp
@@ -134,7 +134,7 @@
GrPipeline::InputFlags pipelineFlags) {
return CreatePipeline(&flushState->caps(),
flushState->allocator(),
- flushState->writeView()->swizzle(),
+ flushState->writeView().swizzle(),
flushState->detachAppliedClip(),
flushState->dstProxyView(),
std::move(processorSet),
@@ -144,7 +144,7 @@
const GrPipeline* GrSimpleMeshDrawOpHelper::createPipeline(GrOpFlushState* flushState) {
return CreatePipeline(&flushState->caps(),
flushState->allocator(),
- flushState->writeView()->swizzle(),
+ flushState->writeView().swizzle(),
flushState->detachAppliedClip(),
flushState->dstProxyView(),
this->detachProcessorSet(),
@@ -169,7 +169,7 @@
GrProgramInfo* GrSimpleMeshDrawOpHelper::CreateProgramInfo(
const GrCaps* caps,
SkArenaAlloc* arena,
- const GrSurfaceProxyView* writeView,
+ const GrSurfaceProxyView& writeView,
GrAppliedClip&& appliedClip,
const GrXferProcessor::DstProxyView& dstProxyView,
GrGeometryProcessor* geometryProcessor,
@@ -180,7 +180,7 @@
const GrUserStencilSettings* stencilSettings) {
auto pipeline = CreatePipeline(caps,
arena,
- writeView->swizzle(),
+ writeView.swizzle(),
std::move(appliedClip),
dstProxyView,
std::move(processorSet),
@@ -192,17 +192,17 @@
GrProgramInfo* GrSimpleMeshDrawOpHelper::CreateProgramInfo(SkArenaAlloc* arena,
const GrPipeline* pipeline,
- const GrSurfaceProxyView* writeView,
+ const GrSurfaceProxyView& writeView,
GrGeometryProcessor* geometryProcessor,
GrPrimitiveType primitiveType,
GrXferBarrierFlags xferBarrierFlags,
const GrUserStencilSettings* stencilSettings) {
- GrRenderTargetProxy* outputProxy = writeView->asRenderTargetProxy();
+ GrRenderTargetProxy* outputProxy = writeView.asRenderTargetProxy();
auto tmp = arena->make<GrProgramInfo>(outputProxy->numSamples(),
outputProxy->numStencilSamples(),
outputProxy->backendFormat(),
- writeView->origin(),
+ writeView.origin(),
pipeline,
stencilSettings,
geometryProcessor,
@@ -215,7 +215,7 @@
GrProgramInfo* GrSimpleMeshDrawOpHelper::createProgramInfo(
const GrCaps* caps,
SkArenaAlloc* arena,
- const GrSurfaceProxyView* writeView,
+ const GrSurfaceProxyView& writeView,
GrAppliedClip&& appliedClip,
const GrXferProcessor::DstProxyView& dstProxyView,
GrGeometryProcessor* gp,
diff --git a/src/gpu/ops/GrSimpleMeshDrawOpHelper.h b/src/gpu/ops/GrSimpleMeshDrawOpHelper.h
index 181249c..220651e 100644
--- a/src/gpu/ops/GrSimpleMeshDrawOpHelper.h
+++ b/src/gpu/ops/GrSimpleMeshDrawOpHelper.h
@@ -135,7 +135,7 @@
static GrProgramInfo* CreateProgramInfo(SkArenaAlloc*,
const GrPipeline*,
- const GrSurfaceProxyView* writeView,
+ const GrSurfaceProxyView& writeView,
GrGeometryProcessor*,
GrPrimitiveType,
GrXferBarrierFlags renderPassXferBarriers,
@@ -147,7 +147,7 @@
// it has no dynamic state besides the scissor clip
static GrProgramInfo* CreateProgramInfo(const GrCaps*,
SkArenaAlloc*,
- const GrSurfaceProxyView* writeView,
+ const GrSurfaceProxyView& writeView,
GrAppliedClip&&,
const GrXferProcessor::DstProxyView&,
GrGeometryProcessor*,
@@ -161,7 +161,7 @@
GrProgramInfo* createProgramInfo(const GrCaps*,
SkArenaAlloc*,
- const GrSurfaceProxyView* writeView,
+ const GrSurfaceProxyView& writeView,
GrAppliedClip&&,
const GrXferProcessor::DstProxyView&,
GrGeometryProcessor*,
diff --git a/src/gpu/ops/GrSimpleMeshDrawOpHelperWithStencil.cpp b/src/gpu/ops/GrSimpleMeshDrawOpHelperWithStencil.cpp
index 0d3e8ed..ebaf58f 100644
--- a/src/gpu/ops/GrSimpleMeshDrawOpHelperWithStencil.cpp
+++ b/src/gpu/ops/GrSimpleMeshDrawOpHelperWithStencil.cpp
@@ -47,7 +47,7 @@
GrProgramInfo* GrSimpleMeshDrawOpHelperWithStencil::createProgramInfoWithStencil(
const GrCaps* caps,
SkArenaAlloc* arena,
- const GrSurfaceProxyView* writeViewSwizzle,
+ const GrSurfaceProxyView& writeViewSwizzle,
GrAppliedClip&& appliedClip,
const GrXferProcessor::DstProxyView& dstProxyView,
GrGeometryProcessor* gp,
diff --git a/src/gpu/ops/GrSimpleMeshDrawOpHelperWithStencil.h b/src/gpu/ops/GrSimpleMeshDrawOpHelperWithStencil.h
index c86ba14..1aa5b6f 100644
--- a/src/gpu/ops/GrSimpleMeshDrawOpHelperWithStencil.h
+++ b/src/gpu/ops/GrSimpleMeshDrawOpHelperWithStencil.h
@@ -24,7 +24,7 @@
GrProgramInfo* createProgramInfoWithStencil(const GrCaps*,
SkArenaAlloc*,
- const GrSurfaceProxyView* writeViewSwizzle,
+ const GrSurfaceProxyView& writeViewSwizzle,
GrAppliedClip&&,
const GrXferProcessor::DstProxyView&,
GrGeometryProcessor*,
diff --git a/src/gpu/ops/GrSmallPathRenderer.cpp b/src/gpu/ops/GrSmallPathRenderer.cpp
index 2c2438d..4cf071f 100644
--- a/src/gpu/ops/GrSmallPathRenderer.cpp
+++ b/src/gpu/ops/GrSmallPathRenderer.cpp
@@ -163,7 +163,7 @@
void onCreateProgramInfo(const GrCaps*,
SkArenaAlloc*,
- const GrSurfaceProxyView* writeView,
+ const GrSurfaceProxyView& writeView,
GrAppliedClip&&,
const GrXferProcessor::DstProxyView&,
GrXferBarrierFlags renderPassXferBarriers) override {
@@ -173,7 +173,7 @@
}
void onPrePrepareDraws(GrRecordingContext*,
- const GrSurfaceProxyView* writeView,
+ const GrSurfaceProxyView& writeView,
GrAppliedClip*,
const GrXferProcessor::DstProxyView&,
GrXferBarrierFlags renderPassXferBarriers) override {
diff --git a/src/gpu/ops/GrStencilPathOp.cpp b/src/gpu/ops/GrStencilPathOp.cpp
index 39c7c1b..fb4d29b 100644
--- a/src/gpu/ops/GrStencilPathOp.cpp
+++ b/src/gpu/ops/GrStencilPathOp.cpp
@@ -33,7 +33,7 @@
fHasStencilClip, numStencilBits);
GrPathRendering::StencilPathArgs args(fUseHWAA, state->drawOpArgs().proxy(),
- state->drawOpArgs().origin(),
+ state->drawOpArgs().writeView().origin(),
&fViewMatrix, &fScissor, &stencil);
state->gpu()->pathRendering()->stencilPath(args, fPath.get());
}
diff --git a/src/gpu/ops/GrStencilPathOp.h b/src/gpu/ops/GrStencilPathOp.h
index b7c680f..2a22c63 100644
--- a/src/gpu/ops/GrStencilPathOp.h
+++ b/src/gpu/ops/GrStencilPathOp.h
@@ -48,7 +48,7 @@
}
void onPrePrepare(GrRecordingContext*,
- const GrSurfaceProxyView* writeView,
+ const GrSurfaceProxyView& writeView,
GrAppliedClip*,
const GrXferProcessor::DstProxyView&,
GrXferBarrierFlags renderPassXferBarriers) override {}
diff --git a/src/gpu/ops/GrStrokeRectOp.cpp b/src/gpu/ops/GrStrokeRectOp.cpp
index 1186e15..75e4f43 100644
--- a/src/gpu/ops/GrStrokeRectOp.cpp
+++ b/src/gpu/ops/GrStrokeRectOp.cpp
@@ -172,7 +172,7 @@
void onCreateProgramInfo(const GrCaps* caps,
SkArenaAlloc* arena,
- const GrSurfaceProxyView* writeView,
+ const GrSurfaceProxyView& writeView,
GrAppliedClip&& clip,
const GrXferProcessor::DstProxyView& dstProxyView,
GrXferBarrierFlags renderPassXferBarriers) override {
@@ -440,7 +440,7 @@
void onCreateProgramInfo(const GrCaps*,
SkArenaAlloc*,
- const GrSurfaceProxyView* writeView,
+ const GrSurfaceProxyView& writeView,
GrAppliedClip&&,
const GrXferProcessor::DstProxyView&,
GrXferBarrierFlags renderPassXferBarriers) override;
@@ -516,7 +516,7 @@
void AAStrokeRectOp::onCreateProgramInfo(const GrCaps* caps,
SkArenaAlloc* arena,
- const GrSurfaceProxyView* writeView,
+ const GrSurfaceProxyView& writeView,
GrAppliedClip&& appliedClip,
const GrXferProcessor::DstProxyView& dstProxyView,
GrXferBarrierFlags renderPassXferBarriers) {
diff --git a/src/gpu/ops/GrTextureOp.cpp b/src/gpu/ops/GrTextureOp.cpp
index 7bfaa7d..26d2fbf 100644
--- a/src/gpu/ops/GrTextureOp.cpp
+++ b/src/gpu/ops/GrTextureOp.cpp
@@ -646,7 +646,7 @@
void onCreateProgramInfo(const GrCaps* caps,
SkArenaAlloc* arena,
- const GrSurfaceProxyView* writeView,
+ const GrSurfaceProxyView& writeView,
GrAppliedClip&& appliedClip,
const GrXferProcessor::DstProxyView& dstProxyView,
GrXferBarrierFlags renderPassXferBarriers) override {
@@ -678,7 +678,7 @@
}
void onPrePrepareDraws(GrRecordingContext* context,
- const GrSurfaceProxyView* writeView,
+ const GrSurfaceProxyView& writeView,
GrAppliedClip* clip,
const GrXferProcessor::DstProxyView& dstProxyView,
GrXferBarrierFlags renderPassXferBarriers) override {
diff --git a/src/gpu/ops/GrTriangulatingPathRenderer.cpp b/src/gpu/ops/GrTriangulatingPathRenderer.cpp
index abc907e..76c2dd2 100644
--- a/src/gpu/ops/GrTriangulatingPathRenderer.cpp
+++ b/src/gpu/ops/GrTriangulatingPathRenderer.cpp
@@ -454,7 +454,7 @@
void onCreateProgramInfo(const GrCaps* caps,
SkArenaAlloc* arena,
- const GrSurfaceProxyView* writeView,
+ const GrSurfaceProxyView& writeView,
GrAppliedClip&& appliedClip,
const GrXferProcessor::DstProxyView& dstProxyView,
GrXferBarrierFlags renderPassXferBarriers) override {
@@ -504,7 +504,7 @@
}
void onPrePrepareDraws(GrRecordingContext* rContext,
- const GrSurfaceProxyView* writeView,
+ const GrSurfaceProxyView& writeView,
GrAppliedClip* clip,
const GrXferProcessor::DstProxyView& dstProxyView,
GrXferBarrierFlags renderPassXferBarriers) override {
diff --git a/src/gpu/tessellate/GrDrawAtlasPathOp.cpp b/src/gpu/tessellate/GrDrawAtlasPathOp.cpp
index 6ff02d3..c1c0c8e 100644
--- a/src/gpu/tessellate/GrDrawAtlasPathOp.cpp
+++ b/src/gpu/tessellate/GrDrawAtlasPathOp.cpp
@@ -142,7 +142,7 @@
}
void GrDrawAtlasPathOp::onPrePrepare(GrRecordingContext*,
- const GrSurfaceProxyView* writeView,
+ const GrSurfaceProxyView& writeView,
GrAppliedClip*,
const GrXferProcessor::DstProxyView&,
GrXferBarrierFlags renderPassXferBarriers) {}
@@ -169,7 +169,7 @@
}
initArgs.fCaps = &state->caps();
initArgs.fDstProxyView = state->drawOpArgs().dstProxyView();
- initArgs.fWriteSwizzle = state->drawOpArgs().writeSwizzle();
+ initArgs.fWriteSwizzle = state->drawOpArgs().writeView().swizzle();
GrPipeline pipeline(initArgs, std::move(fProcessors), state->detachAppliedClip());
GrSwizzle swizzle = state->caps().getReadSwizzle(fAtlasProxy->backendFormat(),
@@ -179,7 +179,7 @@
SkASSERT(shader.instanceStride() == Instance::Stride(fUsesLocalCoords));
GrProgramInfo programInfo(state->proxy()->numSamples(), state->proxy()->numStencilSamples(),
- state->proxy()->backendFormat(), state->writeView()->origin(),
+ state->proxy()->backendFormat(), state->writeView().origin(),
&pipeline, &GrUserStencilSettings::kUnused, &shader,
GrPrimitiveType::kTriangleStrip, 0, state->renderPassBarriers());
diff --git a/src/gpu/tessellate/GrDrawAtlasPathOp.h b/src/gpu/tessellate/GrDrawAtlasPathOp.h
index 1448ef9..cb96015 100644
--- a/src/gpu/tessellate/GrDrawAtlasPathOp.h
+++ b/src/gpu/tessellate/GrDrawAtlasPathOp.h
@@ -43,7 +43,7 @@
private:
void onPrePrepare(GrRecordingContext*,
- const GrSurfaceProxyView* writeView,
+ const GrSurfaceProxyView& writeView,
GrAppliedClip*,
const GrXferProcessor::DstProxyView&,
GrXferBarrierFlags renderPassXferBarriers) override;
diff --git a/src/gpu/tessellate/GrPathShader.h b/src/gpu/tessellate/GrPathShader.h
index d3b8011..b2012fd 100644
--- a/src/gpu/tessellate/GrPathShader.h
+++ b/src/gpu/tessellate/GrPathShader.h
@@ -34,7 +34,7 @@
const SkMatrix& viewMatrix() const { return fViewMatrix; }
static GrProgramInfo* MakeProgramInfo(const GrPathShader* shader, SkArenaAlloc* arena,
- const GrSurfaceProxyView* writeView,
+ const GrSurfaceProxyView& writeView,
GrPipeline::InputFlags pipelineFlags,
GrProcessorSet&& processors, GrAppliedClip&& appliedClip,
const GrXferProcessor::DstProxyView& dstProxyView,
@@ -42,22 +42,22 @@
const GrUserStencilSettings* stencil,
const GrCaps& caps) {
auto* pipeline = GrSimpleMeshDrawOpHelper::CreatePipeline(
- &caps, arena, writeView->swizzle(), std::move(appliedClip), dstProxyView,
+ &caps, arena, writeView.swizzle(), std::move(appliedClip), dstProxyView,
std::move(processors), pipelineFlags);
return MakeProgramInfo(shader, arena, writeView, pipeline, dstProxyView,
renderPassXferBarriers, stencil, caps);
}
static GrProgramInfo* MakeProgramInfo(const GrPathShader* shader, SkArenaAlloc* arena,
- const GrSurfaceProxyView* writeView,
+ const GrSurfaceProxyView& writeView,
const GrPipeline* pipeline,
const GrXferProcessor::DstProxyView& dstProxyView,
GrXferBarrierFlags renderPassXferBarriers,
const GrUserStencilSettings* stencil,
const GrCaps& caps) {
- GrRenderTargetProxy* proxy = writeView->asRenderTargetProxy();
+ GrRenderTargetProxy* proxy = writeView.asRenderTargetProxy();
return arena->make<GrProgramInfo>(proxy->numSamples(), proxy->numStencilSamples(),
- proxy->backendFormat(), writeView->origin(), pipeline,
+ proxy->backendFormat(), writeView.origin(), pipeline,
stencil, shader, shader->fPrimitiveType,
shader->fTessellationPatchVertexCount,
renderPassXferBarriers);
diff --git a/src/gpu/tessellate/GrPathTessellateOp.cpp b/src/gpu/tessellate/GrPathTessellateOp.cpp
index 6aa42d6..811ce1a 100644
--- a/src/gpu/tessellate/GrPathTessellateOp.cpp
+++ b/src/gpu/tessellate/GrPathTessellateOp.cpp
@@ -60,7 +60,7 @@
}
void GrPathTessellateOp::onPrePrepare(GrRecordingContext* context,
- const GrSurfaceProxyView* writeView, GrAppliedClip* clip,
+ const GrSurfaceProxyView& writeView, GrAppliedClip* clip,
const GrXferProcessor::DstProxyView& dstProxyView,
GrXferBarrierFlags renderPassXferBarriers) {
SkArenaAlloc* recordTimeAllocator = context->priv().recordTimeAllocator();
@@ -360,7 +360,7 @@
auto pipelineFlags = GrPipeline::InputFlags::kNone;
if (GrAAType::kNone != fAAType) {
- if (args.fWriteView->asRenderTargetProxy()->numSamples() == 1) {
+ if (args.fWriteView.asRenderTargetProxy()->numSamples() == 1) {
// We are mixed sampled. We need to either enable conservative raster (preferred) or
// disable MSAA in order to avoid double blend artifacts. (Even if we disable MSAA for
// the cover geometry, the stencil test is still multisampled and will still produce
@@ -377,7 +377,7 @@
}
fPipelineForFills = GrSimpleMeshDrawOpHelper::CreatePipeline(
- args.fCaps, args.fArena, args.fWriteView->swizzle(), std::move(*args.fClip),
+ args.fCaps, args.fArena, args.fWriteView.swizzle(), std::move(*args.fClip),
*args.fDstProxyView, std::move(fProcessors), pipelineFlags);
}
diff --git a/src/gpu/tessellate/GrPathTessellateOp.h b/src/gpu/tessellate/GrPathTessellateOp.h
index eefe197..8c232e8 100644
--- a/src/gpu/tessellate/GrPathTessellateOp.h
+++ b/src/gpu/tessellate/GrPathTessellateOp.h
@@ -49,12 +49,12 @@
FixedFunctionFlags fixedFunctionFlags() const override;
- void onPrePrepare(GrRecordingContext*, const GrSurfaceProxyView*, GrAppliedClip*,
+ void onPrePrepare(GrRecordingContext*, const GrSurfaceProxyView&, GrAppliedClip*,
const GrXferProcessor::DstProxyView&, GrXferBarrierFlags) override;
struct PrePrepareArgs {
SkArenaAlloc* fArena;
- const GrSurfaceProxyView* fWriteView;
+ const GrSurfaceProxyView& fWriteView;
const GrAppliedHardClip* fHardClip;
GrAppliedClip* fClip;
const GrXferProcessor::DstProxyView* fDstProxyView;
diff --git a/src/gpu/tessellate/GrStrokeOp.cpp b/src/gpu/tessellate/GrStrokeOp.cpp
index 70d2825..1a3a283 100644
--- a/src/gpu/tessellate/GrStrokeOp.cpp
+++ b/src/gpu/tessellate/GrStrokeOp.cpp
@@ -81,7 +81,7 @@
void GrStrokeOp::prePrepareColorProgram(SkArenaAlloc* arena,
GrStrokeTessellateShader* strokeTessellateShader,
- const GrSurfaceProxyView* writeView, GrAppliedClip&& clip,
+ const GrSurfaceProxyView& writeView, GrAppliedClip&& clip,
const GrXferProcessor::DstProxyView& dstProxyView,
GrXferBarrierFlags renderPassXferBarriers,
const GrCaps& caps) {
@@ -89,7 +89,7 @@
auto pipelineFlags = GrPipeline::InputFlags::kNone;
if (GrAAType::kNone != fAAType) {
pipelineFlags |= GrPipeline::InputFlags::kHWAntialias;
- SkASSERT(writeView->asRenderTargetProxy()->numSamples() > 1); // No mixed samples yet.
+ SkASSERT(writeView.asRenderTargetProxy()->numSamples() > 1); // No mixed samples yet.
SkASSERT(fAAType != GrAAType::kCoverage); // No mixed samples yet.
}
fColorProgram = GrPathShader::MakeProgramInfo(strokeTessellateShader, arena, writeView,
diff --git a/src/gpu/tessellate/GrStrokeOp.h b/src/gpu/tessellate/GrStrokeOp.h
index 28c8b1b..c33a5c3 100644
--- a/src/gpu/tessellate/GrStrokeOp.h
+++ b/src/gpu/tessellate/GrStrokeOp.h
@@ -35,7 +35,7 @@
CombineResult onCombineIfPossible(GrOp*, SkArenaAlloc*, const GrCaps&) override;
void prePrepareColorProgram(SkArenaAlloc* arena, GrStrokeTessellateShader*,
- const GrSurfaceProxyView*, GrAppliedClip&&, const
+ const GrSurfaceProxyView&, GrAppliedClip&&, const
GrXferProcessor::DstProxyView&, GrXferBarrierFlags, const GrCaps&);
static float NumCombinedSegments(float numParametricSegments, float numRadialSegments) {
diff --git a/src/gpu/tessellate/GrStrokeTessellateOp.cpp b/src/gpu/tessellate/GrStrokeTessellateOp.cpp
index 7fc0c2e..793583c 100644
--- a/src/gpu/tessellate/GrStrokeTessellateOp.cpp
+++ b/src/gpu/tessellate/GrStrokeTessellateOp.cpp
@@ -15,7 +15,7 @@
using Patch = GrStrokeTessellateShader::Patch;
void GrStrokeTessellateOp::onPrePrepare(GrRecordingContext* context,
- const GrSurfaceProxyView* writeView, GrAppliedClip* clip,
+ const GrSurfaceProxyView& writeView, GrAppliedClip* clip,
const GrXferProcessor::DstProxyView& dstProxyView,
GrXferBarrierFlags renderPassXferBarriers) {
SkArenaAlloc* arena = context->priv().recordTimeAllocator();
diff --git a/src/gpu/tessellate/GrStrokeTessellateOp.h b/src/gpu/tessellate/GrStrokeTessellateOp.h
index b337de1..18f0230 100644
--- a/src/gpu/tessellate/GrStrokeTessellateOp.h
+++ b/src/gpu/tessellate/GrStrokeTessellateOp.h
@@ -30,7 +30,7 @@
: GrStrokeOp(ClassID(), aaType, viewMatrix, stroke, path, std::move(paint)) {
}
- void onPrePrepare(GrRecordingContext*, const GrSurfaceProxyView*, GrAppliedClip*,
+ void onPrePrepare(GrRecordingContext*, const GrSurfaceProxyView&, GrAppliedClip*,
const GrXferProcessor::DstProxyView&, GrXferBarrierFlags) override;
enum class JoinType {