Revert "Don't reuse scratch textures when texsub image banned for FBO textures"

This reverts commit 2a88456c15.

Reason for revert: speculative -- fix marshmellow gl on chrome roll?

Original change's description:
> Don't reuse scratch textures when texsub image banned for FBO textures
>
> If writePixels uses a scratch surface it will likely bind it to a FBO.
> If this workaround is in play that texture then becomes "poisoned" as
> a temp surface for a future writePixels(). However, our caching
> mechanism will still find it and we'll incur an extra recursion in
> writePixels to allocate a new texture that has never been bound to a
> FBO. This pattern can repeat itself with increasing recursion depth
> until the cache budget has been reached and we start purging the
> "poisoned" textures.
>
> Disallowing reuse of scratch textures avoids this issue.
>
> Bug: skia:11204
> Change-Id: I8002a673900a9a34e889c92e816781d4b7f84688
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388696
> Reviewed-by: Robert Phillips <robertphillips@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>

TBR=bsalomon@google.com,robertphillips@google.com

Change-Id: Ic5d5731d30031bdcddc444aa2c4d9d552dc75838
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:11204
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/389016
Reviewed-by: Mike Reed <reed@google.com>
This commit is contained in:
Mike Reed 2021-03-25 11:04:27 +00:00
parent 39c0f4e0f3
commit c028c5c1f8

View File

@ -4095,11 +4095,6 @@ void GrGLCaps::applyDriverCorrectnessWorkarounds(const GrGLContextInfo& ctxInfo,
if (kAdreno530_GrGLRenderer == ctxInfo.renderer()) { if (kAdreno530_GrGLRenderer == ctxInfo.renderer()) {
shaderCaps->fUseNodePools = false; shaderCaps->fUseNodePools = false;
} }
// skbug.com/11204. Avoid recursion issue in GrSurfaceContext::writePixels.
if (fDisallowTexSubImageForUnormConfigTexturesEverBoundToFBO) {
fReuseScratchTextures = false;
}
} }
void GrGLCaps::onApplyOptionsOverrides(const GrContextOptions& options) { void GrGLCaps::onApplyOptionsOverrides(const GrContextOptions& options) {