Remove destination GrRenderTargetProxy from GrPipeline
Change-Id: Ie2ee3d51220163fde8a959255dd5f6cce4e27ad8
Reviewed-on: https://skia-review.googlesource.com/c/188038
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
diff --git a/src/gpu/vk/GrVkGpuCommandBuffer.cpp b/src/gpu/vk/GrVkGpuCommandBuffer.cpp
index 8cc91a8..dff99f2 100644
--- a/src/gpu/vk/GrVkGpuCommandBuffer.cpp
+++ b/src/gpu/vk/GrVkGpuCommandBuffer.cpp
@@ -653,7 +653,8 @@
SkASSERT(SkToBool(primProcProxies) == SkToBool(primProc.numTextureSamplers()));
GrVkPipelineState* pipelineState =
- fGpu->resourceProvider().findOrCreateCompatiblePipelineState(pipeline,
+ fGpu->resourceProvider().findOrCreateCompatiblePipelineState(fRenderTarget, fOrigin,
+ pipeline,
primProc,
primProcProxies,
primitiveType,
@@ -671,7 +672,8 @@
pipelineState->bindPipeline(fGpu, cbInfo.currentCmdBuf());
- pipelineState->setAndBindUniforms(fGpu, primProc, pipeline, cbInfo.currentCmdBuf());
+ pipelineState->setAndBindUniforms(fGpu, fRenderTarget, fOrigin,
+ primProc, pipeline, cbInfo.currentCmdBuf());
// Check whether we need to bind textures between each GrMesh. If not we can bind them all now.
bool setTextures = !(dynamicStateArrays && dynamicStateArrays->fPrimitiveProcessorTextures);
@@ -680,20 +682,20 @@
cbInfo.currentCmdBuf());
}
- GrRenderTarget* rt = pipeline.renderTarget();
-
if (!pipeline.isScissorEnabled()) {
GrVkPipeline::SetDynamicScissorRectState(fGpu, cbInfo.currentCmdBuf(),
- rt, pipeline.proxy()->origin(),
- SkIRect::MakeWH(rt->width(), rt->height()));
+ fRenderTarget, fOrigin,
+ SkIRect::MakeWH(fRenderTarget->width(),
+ fRenderTarget->height()));
} else if (!dynamicStateArrays || !dynamicStateArrays->fScissorRects) {
SkASSERT(fixedDynamicState);
- GrVkPipeline::SetDynamicScissorRectState(fGpu, cbInfo.currentCmdBuf(), rt,
- pipeline.proxy()->origin(),
+ GrVkPipeline::SetDynamicScissorRectState(fGpu, cbInfo.currentCmdBuf(), fRenderTarget,
+ fOrigin,
fixedDynamicState->fScissorRect);
}
- GrVkPipeline::SetDynamicViewportState(fGpu, cbInfo.currentCmdBuf(), rt);
- GrVkPipeline::SetDynamicBlendConstantState(fGpu, cbInfo.currentCmdBuf(), rt->config(),
+ GrVkPipeline::SetDynamicViewportState(fGpu, cbInfo.currentCmdBuf(), fRenderTarget);
+ GrVkPipeline::SetDynamicBlendConstantState(fGpu, cbInfo.currentCmdBuf(),
+ fRenderTarget->config(),
pipeline.getXferProcessor());
return pipelineState;
@@ -706,8 +708,6 @@
const GrMesh meshes[],
int meshCount,
const SkRect& bounds) {
- SkASSERT(pipeline.renderTarget() == fRenderTarget);
-
if (!meshCount) {
return;
}
@@ -782,7 +782,7 @@
if (dynamicScissor) {
GrVkPipeline::SetDynamicScissorRectState(fGpu, cbInfo.currentCmdBuf(), fRenderTarget,
- pipeline.proxy()->origin(),
+ fOrigin,
dynamicStateArrays->fScissorRects[i]);
}
if (dynamicTextures) {