Delete GrOpsRenderPass::drawMeshes
Everyone is responsible to set up their own scissor and textures now.
Change-Id: Ic3547f00c0e7908409631951de4b7237b9bce23b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/277177
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
diff --git a/src/gpu/ops/GrAAConvexPathRenderer.cpp b/src/gpu/ops/GrAAConvexPathRenderer.cpp
index 00f02ab..982dcb5 100644
--- a/src/gpu/ops/GrAAConvexPathRenderer.cpp
+++ b/src/gpu/ops/GrAAConvexPathRenderer.cpp
@@ -852,10 +852,12 @@
return;
}
- flushState->bindPipeline(*fProgramInfo, chainBounds);
+ flushState->bindPipelineAndScissorClip(*fProgramInfo, chainBounds);
+ flushState->bindTextures(fProgramInfo->primProc(), nullptr, fProgramInfo->pipeline());
for (int i = 0; i < fDraws.count(); ++i) {
- flushState->opsRenderPass()->drawMeshes(*fProgramInfo,
- fDraws[i].fMeshes, fDraws[i].fMeshCount);
+ for (int j = 0; j < fDraws[i].fMeshCount; ++j) {
+ flushState->drawMesh(fDraws[i].fMeshes[j]);
+ }
}
}
diff --git a/src/gpu/ops/GrAALinearizingConvexPathRenderer.cpp b/src/gpu/ops/GrAALinearizingConvexPathRenderer.cpp
index efb5872..54a2c44 100644
--- a/src/gpu/ops/GrAALinearizingConvexPathRenderer.cpp
+++ b/src/gpu/ops/GrAALinearizingConvexPathRenderer.cpp
@@ -327,9 +327,10 @@
return;
}
- flushState->bindPipeline(*fProgramInfo, chainBounds);
+ flushState->bindPipelineAndScissorClip(*fProgramInfo, chainBounds);
+ flushState->bindTextures(fProgramInfo->primProc(), nullptr, fProgramInfo->pipeline());
for (int i = 0; i < fMeshes.count(); ++i) {
- flushState->opsRenderPass()->drawMeshes(*fProgramInfo, fMeshes[i], 1);
+ flushState->drawMesh(*fMeshes[i]);
}
}
diff --git a/src/gpu/ops/GrDashOp.cpp b/src/gpu/ops/GrDashOp.cpp
index 022cdc6..053a38e 100644
--- a/src/gpu/ops/GrDashOp.cpp
+++ b/src/gpu/ops/GrDashOp.cpp
@@ -666,8 +666,9 @@
return;
}
- flushState->bindPipeline(*fProgramInfo, chainBounds);
- flushState->opsRenderPass()->drawMeshes(*fProgramInfo, fMesh, 1);
+ flushState->bindPipelineAndScissorClip(*fProgramInfo, chainBounds);
+ flushState->bindTextures(fProgramInfo->primProc(), nullptr, fProgramInfo->pipeline());
+ flushState->drawMesh(*fMesh);
}
CombineResult onCombineIfPossible(GrOp* t, GrRecordingContext::Arenas*,
diff --git a/src/gpu/ops/GrDefaultPathRenderer.cpp b/src/gpu/ops/GrDefaultPathRenderer.cpp
index 2080e47..4f79279 100644
--- a/src/gpu/ops/GrDefaultPathRenderer.cpp
+++ b/src/gpu/ops/GrDefaultPathRenderer.cpp
@@ -474,9 +474,10 @@
return;
}
- flushState->bindPipeline(*fProgramInfo, chainBounds);
+ flushState->bindPipelineAndScissorClip(*fProgramInfo, chainBounds);
+ flushState->bindTextures(fProgramInfo->primProc(), nullptr, fProgramInfo->pipeline());
for (int i = 0; i < fMeshes.count(); ++i) {
- flushState->opsRenderPass()->drawMeshes(*fProgramInfo, fMeshes[i], 1);
+ flushState->drawMesh(*fMeshes[i]);
}
}
diff --git a/src/gpu/ops/GrDrawAtlasOp.cpp b/src/gpu/ops/GrDrawAtlasOp.cpp
index a8dd3b9..5fec9e1 100644
--- a/src/gpu/ops/GrDrawAtlasOp.cpp
+++ b/src/gpu/ops/GrDrawAtlasOp.cpp
@@ -246,8 +246,9 @@
return;
}
- flushState->bindPipeline(*fProgramInfo, chainBounds);
- flushState->opsRenderPass()->drawMeshes(*fProgramInfo, fMesh, 1);
+ flushState->bindPipelineAndScissorClip(*fProgramInfo, chainBounds);
+ flushState->bindTextures(fProgramInfo->primProc(), nullptr, fProgramInfo->pipeline());
+ flushState->drawMesh(*fMesh);
}
GrOp::CombineResult DrawAtlasOp::onCombineIfPossible(GrOp* t, GrRecordingContext::Arenas*,
diff --git a/src/gpu/ops/GrDrawVerticesOp.cpp b/src/gpu/ops/GrDrawVerticesOp.cpp
index ce038e4..ba9ad3a 100644
--- a/src/gpu/ops/GrDrawVerticesOp.cpp
+++ b/src/gpu/ops/GrDrawVerticesOp.cpp
@@ -357,8 +357,9 @@
return;
}
- flushState->bindPipeline(*fProgramInfo, chainBounds);
- flushState->opsRenderPass()->drawMeshes(*fProgramInfo, fMesh, 1);
+ flushState->bindPipelineAndScissorClip(*fProgramInfo, chainBounds);
+ flushState->bindTextures(fProgramInfo->primProc(), nullptr, fProgramInfo->pipeline());
+ flushState->drawMesh(*fMesh);
}
GrOp::CombineResult DrawVerticesOp::onCombineIfPossible(GrOp* t, GrRecordingContext::Arenas*,
diff --git a/src/gpu/ops/GrFillRectOp.cpp b/src/gpu/ops/GrFillRectOp.cpp
index f6b95a8..9a733ae 100644
--- a/src/gpu/ops/GrFillRectOp.cpp
+++ b/src/gpu/ops/GrFillRectOp.cpp
@@ -337,8 +337,9 @@
this->createProgramInfo(flushState);
}
- flushState->bindPipeline(*fProgramInfo, chainBounds);
- flushState->opsRenderPass()->drawMeshes(*fProgramInfo, fMesh, 1);
+ flushState->bindPipelineAndScissorClip(*fProgramInfo, chainBounds);
+ flushState->bindTextures(fProgramInfo->primProc(), nullptr, fProgramInfo->pipeline());
+ flushState->drawMesh(*fMesh);
}
CombineResult onCombineIfPossible(GrOp* t, GrRecordingContext::Arenas*,
diff --git a/src/gpu/ops/GrLatticeOp.cpp b/src/gpu/ops/GrLatticeOp.cpp
index 45db504..48da96f 100644
--- a/src/gpu/ops/GrLatticeOp.cpp
+++ b/src/gpu/ops/GrLatticeOp.cpp
@@ -225,19 +225,13 @@
return;
}
- static constexpr int kOnePrimProcTexture = 1;
- auto fixedDynamicState = GrMeshDrawOp::Target::MakeFixedDynamicState(arena, &appliedClip,
- kOnePrimProcTexture);
- fixedDynamicState->fPrimitiveProcessorTextures[0] = fView.proxy();
-
fProgramInfo = GrSimpleMeshDrawOpHelper::CreateProgramInfo(caps, arena, outputView,
std::move(appliedClip),
dstProxyView, gp,
fHelper.detachProcessorSet(),
GrPrimitiveType::kTriangles,
fHelper.pipelineFlags(),
- &GrUserStencilSettings::kUnused,
- fixedDynamicState);
+ &GrUserStencilSettings::kUnused);
}
void onPrepareDraws(Target* target) override {
@@ -325,8 +319,10 @@
return;
}
- flushState->bindPipeline(*fProgramInfo, chainBounds);
- flushState->opsRenderPass()->drawMeshes(*fProgramInfo, fMesh, 1);
+ flushState->bindPipelineAndScissorClip(*fProgramInfo, chainBounds);
+ flushState->bindTextures(fProgramInfo->primProc(), *fView.proxy(),
+ fProgramInfo->pipeline());
+ flushState->drawMesh(*fMesh);
}
CombineResult onCombineIfPossible(GrOp* t, GrRecordingContext::Arenas*,
diff --git a/src/gpu/ops/GrOvalOpFactory.cpp b/src/gpu/ops/GrOvalOpFactory.cpp
index 7f8c28d..7bcc3c8 100644
--- a/src/gpu/ops/GrOvalOpFactory.cpp
+++ b/src/gpu/ops/GrOvalOpFactory.cpp
@@ -1428,8 +1428,9 @@
return;
}
- flushState->bindPipeline(*fProgramInfo, chainBounds);
- flushState->opsRenderPass()->drawMeshes(*fProgramInfo, fMesh, 1);
+ flushState->bindPipelineAndScissorClip(*fProgramInfo, chainBounds);
+ flushState->bindTextures(fProgramInfo->primProc(), nullptr, fProgramInfo->pipeline());
+ flushState->drawMesh(*fMesh);
}
CombineResult onCombineIfPossible(GrOp* t, GrRecordingContext::Arenas*,
@@ -1750,8 +1751,9 @@
return;
}
- flushState->bindPipeline(*fProgramInfo, chainBounds);
- flushState->opsRenderPass()->drawMeshes(*fProgramInfo, fMesh, 1);
+ flushState->bindPipelineAndScissorClip(*fProgramInfo, chainBounds);
+ flushState->bindTextures(fProgramInfo->primProc(), nullptr, fProgramInfo->pipeline());
+ flushState->drawMesh(*fMesh);
}
CombineResult onCombineIfPossible(GrOp* t, GrRecordingContext::Arenas*,
@@ -2037,8 +2039,9 @@
return;
}
- flushState->bindPipeline(*fProgramInfo, chainBounds);
- flushState->opsRenderPass()->drawMeshes(*fProgramInfo, fMesh, 1);
+ flushState->bindPipelineAndScissorClip(*fProgramInfo, chainBounds);
+ flushState->bindTextures(fProgramInfo->primProc(), nullptr, fProgramInfo->pipeline());
+ flushState->drawMesh(*fMesh);
}
CombineResult onCombineIfPossible(GrOp* t, GrRecordingContext::Arenas*,
@@ -2302,8 +2305,9 @@
return;
}
- flushState->bindPipeline(*fProgramInfo, chainBounds);
- flushState->opsRenderPass()->drawMeshes(*fProgramInfo, fMesh, 1);
+ flushState->bindPipelineAndScissorClip(*fProgramInfo, chainBounds);
+ flushState->bindTextures(fProgramInfo->primProc(), nullptr, fProgramInfo->pipeline());
+ flushState->drawMesh(*fMesh);
}
CombineResult onCombineIfPossible(GrOp* t, GrRecordingContext::Arenas*,
@@ -2761,8 +2765,9 @@
return;
}
- flushState->bindPipeline(*fProgramInfo, chainBounds);
- flushState->opsRenderPass()->drawMeshes(*fProgramInfo, fMesh, 1);
+ flushState->bindPipelineAndScissorClip(*fProgramInfo, chainBounds);
+ flushState->bindTextures(fProgramInfo->primProc(), nullptr, fProgramInfo->pipeline());
+ flushState->drawMesh(*fMesh);
}
CombineResult onCombineIfPossible(GrOp* t, GrRecordingContext::Arenas*,
@@ -3074,8 +3079,9 @@
return;
}
- flushState->bindPipeline(*fProgramInfo, chainBounds);
- flushState->opsRenderPass()->drawMeshes(*fProgramInfo, fMesh, 1);
+ flushState->bindPipelineAndScissorClip(*fProgramInfo, chainBounds);
+ flushState->bindTextures(fProgramInfo->primProc(), nullptr, fProgramInfo->pipeline());
+ flushState->drawMesh(*fMesh);
}
CombineResult onCombineIfPossible(GrOp* t, GrRecordingContext::Arenas*,
diff --git a/src/gpu/ops/GrRegionOp.cpp b/src/gpu/ops/GrRegionOp.cpp
index e5e7241..fd5d8e4 100644
--- a/src/gpu/ops/GrRegionOp.cpp
+++ b/src/gpu/ops/GrRegionOp.cpp
@@ -160,8 +160,9 @@
return;
}
- flushState->bindPipeline(*fProgramInfo, chainBounds);
- flushState->opsRenderPass()->drawMeshes(*fProgramInfo, fMesh, 1);
+ flushState->bindPipelineAndScissorClip(*fProgramInfo, chainBounds);
+ flushState->bindTextures(fProgramInfo->primProc(), nullptr, fProgramInfo->pipeline());
+ flushState->drawMesh(*fMesh);
}
CombineResult onCombineIfPossible(GrOp* t, GrRecordingContext::Arenas*,
diff --git a/src/gpu/ops/GrShadowRRectOp.cpp b/src/gpu/ops/GrShadowRRectOp.cpp
index 49174a0..e74a20a 100644
--- a/src/gpu/ops/GrShadowRRectOp.cpp
+++ b/src/gpu/ops/GrShadowRRectOp.cpp
@@ -550,19 +550,13 @@
GrGeometryProcessor* gp = GrRRectShadowGeoProc::Make(arena, fFalloffView);
SkASSERT(sizeof(CircleVertex) == gp->vertexStride());
- static constexpr int kOnePrimProcTexture = 1;
- auto fixedDynamicState = GrMeshDrawOp::Target::MakeFixedDynamicState(arena, &appliedClip,
- kOnePrimProcTexture);
- fixedDynamicState->fPrimitiveProcessorTextures[0] = fFalloffView.proxy();
-
fProgramInfo = GrSimpleMeshDrawOpHelper::CreateProgramInfo(caps, arena, outputView,
std::move(appliedClip),
dstProxyView, gp,
GrProcessorSet::MakeEmptySet(),
GrPrimitiveType::kTriangles,
GrPipeline::InputFlags::kNone,
- &GrUserStencilSettings::kUnused,
- fixedDynamicState);
+ &GrUserStencilSettings::kUnused);
}
void onPrepareDraws(Target* target) override {
@@ -628,8 +622,10 @@
return;
}
- flushState->bindPipeline(*fProgramInfo, chainBounds);
- flushState->opsRenderPass()->drawMeshes(*fProgramInfo, fMesh, 1);
+ flushState->bindPipelineAndScissorClip(*fProgramInfo, chainBounds);
+ flushState->bindTextures(fProgramInfo->primProc(), *fFalloffView.proxy(),
+ fProgramInfo->pipeline());
+ flushState->drawMesh(*fMesh);
}
CombineResult onCombineIfPossible(GrOp* t, GrRecordingContext::Arenas*,
diff --git a/src/gpu/ops/GrStrokeRectOp.cpp b/src/gpu/ops/GrStrokeRectOp.cpp
index c221baa..f38e9a6 100644
--- a/src/gpu/ops/GrStrokeRectOp.cpp
+++ b/src/gpu/ops/GrStrokeRectOp.cpp
@@ -250,8 +250,9 @@
return;
}
- flushState->bindPipeline(*fProgramInfo, chainBounds);
- flushState->opsRenderPass()->drawMeshes(*fProgramInfo, fMesh, 1);
+ flushState->bindPipelineAndScissorClip(*fProgramInfo, chainBounds);
+ flushState->bindTextures(fProgramInfo->primProc(), nullptr, fProgramInfo->pipeline());
+ flushState->drawMesh(*fMesh);
}
// TODO: override onCombineIfPossible
@@ -592,8 +593,9 @@
return;
}
- flushState->bindPipeline(*fProgramInfo, chainBounds);
- flushState->opsRenderPass()->drawMeshes(*fProgramInfo, fMesh, 1);
+ flushState->bindPipelineAndScissorClip(*fProgramInfo, chainBounds);
+ flushState->bindTextures(fProgramInfo->primProc(), nullptr, fProgramInfo->pipeline());
+ flushState->drawMesh(*fMesh);
}
sk_sp<const GrGpuBuffer> AAStrokeRectOp::GetIndexBuffer(GrResourceProvider* resourceProvider,
diff --git a/src/gpu/ops/GrTessellatingPathRenderer.cpp b/src/gpu/ops/GrTessellatingPathRenderer.cpp
index 43d9381..46f5cc6 100644
--- a/src/gpu/ops/GrTessellatingPathRenderer.cpp
+++ b/src/gpu/ops/GrTessellatingPathRenderer.cpp
@@ -394,8 +394,9 @@
return;
}
- flushState->bindPipeline(*fProgramInfo, chainBounds);
- flushState->opsRenderPass()->drawMeshes(*fProgramInfo, fMesh, 1);
+ flushState->bindPipelineAndScissorClip(*fProgramInfo, chainBounds);
+ flushState->bindTextures(fProgramInfo->primProc(), nullptr, fProgramInfo->pipeline());
+ flushState->drawMesh(*fMesh);
}
Helper fHelper;