Remove deprecated discard method and GrCaps support
Change-Id: I231949c90342a44e9c0b6030818139d3164819da
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226837
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
diff --git a/src/gpu/GrCaps.cpp b/src/gpu/GrCaps.cpp
index cd14b36..5bd4044 100644
--- a/src/gpu/GrCaps.cpp
+++ b/src/gpu/GrCaps.cpp
@@ -19,7 +19,6 @@
fNPOTTextureTileSupport = false;
fSRGBSupport = false;
fSRGBWriteControl = false;
- fDiscardRenderTargetSupport = false;
fReuseScratchTextures = true;
fReuseScratchBuffers = true;
fGpuTracingSupport = false;
@@ -197,7 +196,6 @@
writer->appendBool("NPOT Texture Tile Support", fNPOTTextureTileSupport);
writer->appendBool("sRGB Support", fSRGBSupport);
writer->appendBool("sRGB Write Control", fSRGBWriteControl);
- writer->appendBool("Discard Render Target Support", fDiscardRenderTargetSupport);
writer->appendBool("Reuse Scratch Textures", fReuseScratchTextures);
writer->appendBool("Reuse Scratch Buffers", fReuseScratchBuffers);
writer->appendBool("Gpu Tracing Support", fGpuTracingSupport);
diff --git a/src/gpu/GrCaps.h b/src/gpu/GrCaps.h
index 2aa5cd4..3ea84b7 100644
--- a/src/gpu/GrCaps.h
+++ b/src/gpu/GrCaps.h
@@ -50,7 +50,6 @@
* Is there support for enabling/disabling sRGB writes for sRGB-capable color buffers?
*/
bool srgbWriteControl() const { return fSRGBWriteControl; }
- bool discardRenderTargetSupport() const { return fDiscardRenderTargetSupport; }
bool gpuTracingSupport() const { return fGpuTracingSupport; }
bool oversizedStencilSupport() const { return fOversizedStencilSupport; }
bool textureBarrierSupport() const { return fTextureBarrierSupport; }
@@ -424,7 +423,6 @@
bool fMipMapSupport : 1;
bool fSRGBSupport : 1;
bool fSRGBWriteControl : 1;
- bool fDiscardRenderTargetSupport : 1;
bool fReuseScratchTextures : 1;
bool fReuseScratchBuffers : 1;
bool fGpuTracingSupport : 1;
diff --git a/src/gpu/GrGpuCommandBuffer.h b/src/gpu/GrGpuCommandBuffer.h
index e96c610..b73fd7d 100644
--- a/src/gpu/GrGpuCommandBuffer.h
+++ b/src/gpu/GrGpuCommandBuffer.h
@@ -111,12 +111,6 @@
void clearStencilClip(const GrFixedClip&, bool insideStencilMask);
/**
- * Discards the contents render target.
- */
- // TODO: This should be removed in the future to favor using the load and store ops for discard
- virtual void discard() = 0;
-
- /**
* Executes the SkDrawable object for the underlying backend.
*/
virtual void executeDrawable(std::unique_ptr<SkDrawable::GpuDrawHandler>) {}
diff --git a/src/gpu/gl/GrGLCaps.cpp b/src/gpu/gl/GrGLCaps.cpp
index 6e60196..95f9d4a 100644
--- a/src/gpu/gl/GrGLCaps.cpp
+++ b/src/gpu/gl/GrGLCaps.cpp
@@ -146,10 +146,8 @@
if (((GR_IS_GR_GL(standard) && version >= GR_GL_VER(4,3)) ||
(GR_IS_GR_GL_ES(standard) && version >= GR_GL_VER(3,0)) ||
ctxInfo.hasExtension("GL_ARB_invalidate_subdata"))) {
- fDiscardRenderTargetSupport = true;
fInvalidateFBType = kInvalidate_InvalidateFBType;
} else if (ctxInfo.hasExtension("GL_EXT_discard_framebuffer")) {
- fDiscardRenderTargetSupport = true;
fInvalidateFBType = kDiscard_InvalidateFBType;
}
@@ -3023,7 +3021,6 @@
if (kAdreno430_GrGLRenderer == ctxInfo.renderer() ||
kAdreno4xx_other_GrGLRenderer == ctxInfo.renderer() ||
fDriverBugWorkarounds.disable_discard_framebuffer) {
- fDiscardRenderTargetSupport = false;
fInvalidateFBType = kNone_InvalidateFBType;
}
@@ -3373,7 +3370,6 @@
#endif
(kNVIDIA_GrGLDriver == ctxInfo.driver() ||
kChromium_GrGLDriver == ctxInfo.driver())) {
- fDiscardRenderTargetSupport = false;
fInvalidateFBType = kNone_InvalidateFBType;
}
diff --git a/src/gpu/gl/GrGLGpuCommandBuffer.h b/src/gpu/gl/GrGLGpuCommandBuffer.h
index 0ec79c6..a67b41a 100644
--- a/src/gpu/gl/GrGLGpuCommandBuffer.h
+++ b/src/gpu/gl/GrGLGpuCommandBuffer.h
@@ -57,8 +57,6 @@
void begin() override;
void end() override {}
- void discard() override { }
-
void insertEventMarker(const char* msg) override {
fGpu->insertEventMarker(msg);
}
diff --git a/src/gpu/mock/GrMockGpuCommandBuffer.h b/src/gpu/mock/GrMockGpuCommandBuffer.h
index 7532bdc..e1619af 100644
--- a/src/gpu/mock/GrMockGpuCommandBuffer.h
+++ b/src/gpu/mock/GrMockGpuCommandBuffer.h
@@ -37,7 +37,6 @@
GrGpu* gpu() override { return fGpu; }
void inlineUpload(GrOpFlushState*, GrDeferredTextureUploadFn&) override {}
- void discard() override {}
void insertEventMarker(const char*) override {}
void begin() override {}
void end() override {}
diff --git a/src/gpu/mtl/GrMtlCaps.mm b/src/gpu/mtl/GrMtlCaps.mm
index 019b993..5edc5b7 100644
--- a/src/gpu/mtl/GrMtlCaps.mm
+++ b/src/gpu/mtl/GrMtlCaps.mm
@@ -38,7 +38,6 @@
fFenceSyncSupport = false; // Fences are not implemented yet
fSemaphoreSupport = false; // Semaphores are not implemented yet
fMultisampleDisableSupport = true; // MSAA and resolving not implemented yet
- fDiscardRenderTargetSupport = false; // GrMtlGpuCommandBuffer::discard() not implemented
fCrossContextTextureSupport = false; // GrMtlGpu::prepareTextureForCrossContextUsage() not impl
}
@@ -214,7 +213,6 @@
fSRGBWriteControl = false;
fMipMapSupport = true; // always available in Metal
fNPOTTextureTileSupport = true; // always available in Metal
- fDiscardRenderTargetSupport = true;
fReuseScratchTextures = true; // Assuming this okay
diff --git a/src/gpu/mtl/GrMtlGpuCommandBuffer.h b/src/gpu/mtl/GrMtlGpuCommandBuffer.h
index 3bf1af5..c3651ff 100644
--- a/src/gpu/mtl/GrMtlGpuCommandBuffer.h
+++ b/src/gpu/mtl/GrMtlGpuCommandBuffer.h
@@ -57,8 +57,6 @@
void begin() override {}
void end() override {}
- void discard() override {}
-
void insertEventMarker(const char* msg) override {}
void initRenderState(id<MTLRenderCommandEncoder>);
diff --git a/src/gpu/vk/GrVkCaps.cpp b/src/gpu/vk/GrVkCaps.cpp
index 16ae3cb..0e0405d 100644
--- a/src/gpu/vk/GrVkCaps.cpp
+++ b/src/gpu/vk/GrVkCaps.cpp
@@ -32,7 +32,6 @@
fMipMapSupport = true; // always available in Vulkan
fSRGBSupport = true; // always available in Vulkan
fNPOTTextureTileSupport = true; // always available in Vulkan
- fDiscardRenderTargetSupport = true;
fReuseScratchTextures = true; //TODO: figure this out
fGpuTracingSupport = false; //TODO: figure this out
fOversizedStencilSupport = false; //TODO: figure this out
diff --git a/src/gpu/vk/GrVkGpuCommandBuffer.cpp b/src/gpu/vk/GrVkGpuCommandBuffer.cpp
index d893d2e..10c6c82 100644
--- a/src/gpu/vk/GrVkGpuCommandBuffer.cpp
+++ b/src/gpu/vk/GrVkGpuCommandBuffer.cpp
@@ -378,38 +378,6 @@
////////////////////////////////////////////////////////////////////////////////
-void GrVkGpuRTCommandBuffer::discard() {
- GrVkRenderTarget* vkRT = static_cast<GrVkRenderTarget*>(fRenderTarget);
-
- CommandBufferInfo& cbInfo = fCommandBufferInfos[fCurrentCmdInfo];
- if (cbInfo.fIsEmpty) {
- // Change the render pass to do a don't-care load for both color & stencil
- GrVkRenderPass::LoadStoreOps vkColorOps(VK_ATTACHMENT_LOAD_OP_DONT_CARE,
- VK_ATTACHMENT_STORE_OP_STORE);
- GrVkRenderPass::LoadStoreOps vkStencilOps(VK_ATTACHMENT_LOAD_OP_DONT_CARE,
- VK_ATTACHMENT_STORE_OP_STORE);
-
- const GrVkRenderPass* oldRP = cbInfo.fRenderPass;
-
- const GrVkResourceProvider::CompatibleRPHandle& rpHandle =
- vkRT->compatibleRenderPassHandle();
- if (rpHandle.isValid()) {
- cbInfo.fRenderPass = fGpu->resourceProvider().findRenderPass(rpHandle,
- vkColorOps,
- vkStencilOps);
- } else {
- cbInfo.fRenderPass = fGpu->resourceProvider().findRenderPass(*vkRT,
- vkColorOps,
- vkStencilOps);
- }
-
- SkASSERT(cbInfo.fRenderPass->isCompatible(*oldRP));
- oldRP->unref(fGpu);
- cbInfo.fBounds.join(fRenderTarget->getBoundsRect());
- cbInfo.fLoadStoreState = LoadStoreState::kStartsWithDiscard;
- }
-}
-
void GrVkGpuRTCommandBuffer::insertEventMarker(const char* msg) {
// TODO: does Vulkan have a correlate?
}
diff --git a/src/gpu/vk/GrVkGpuCommandBuffer.h b/src/gpu/vk/GrVkGpuCommandBuffer.h
index a821356..72bfe07 100644
--- a/src/gpu/vk/GrVkGpuCommandBuffer.h
+++ b/src/gpu/vk/GrVkGpuCommandBuffer.h
@@ -98,7 +98,6 @@
void begin() override { }
void end() override;
- void discard() override;
void insertEventMarker(const char*) override;
void inlineUpload(GrOpFlushState* state, GrDeferredTextureUploadFn& upload) override;