Add "GrMipMapped" parameter to visitProxies
This will allow us to detect textures that need their mipmap levels
regenerated, and resolve them before executing the command buffer.
Bug: skia:
Change-Id: I65a1cd2b2d5ba2247d1c4a613ce9ba85b8d02377
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215142
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
diff --git a/src/gpu/GrRenderTargetOpList.cpp b/src/gpu/GrRenderTargetOpList.cpp
index 20f625b..8ce412c 100644
--- a/src/gpu/GrRenderTargetOpList.cpp
+++ b/src/gpu/GrRenderTargetOpList.cpp
@@ -138,7 +138,7 @@
op.visitProxies(func);
}
if (fDstProxy.proxy()) {
- func(fDstProxy.proxy());
+ func(fDstProxy.proxy(), GrMipMapped::kNo);
}
if (fAppliedClip) {
fAppliedClip->visitProxies(func);
@@ -593,7 +593,7 @@
void GrRenderTargetOpList::purgeOpsWithUninstantiatedProxies() {
bool hasUninstantiatedProxy = false;
- auto checkInstantiation = [&hasUninstantiatedProxy](GrSurfaceProxy* p) {
+ auto checkInstantiation = [&hasUninstantiatedProxy](GrSurfaceProxy* p, GrMipMapped) {
if (!p->isInstantiated()) {
hasUninstantiatedProxy = true;
}
@@ -611,7 +611,7 @@
bool GrRenderTargetOpList::onIsUsed(GrSurfaceProxy* proxyToCheck) const {
bool used = false;
- auto visit = [ proxyToCheck, &used ] (GrSurfaceProxy* p) {
+ auto visit = [ proxyToCheck, &used ] (GrSurfaceProxy* p, GrMipMapped) {
if (p == proxyToCheck) {
used = true;
}
@@ -650,7 +650,7 @@
alloc->incOps();
}
- auto gather = [ alloc SkDEBUGCODE(, this) ] (GrSurfaceProxy* p) {
+ auto gather = [ alloc SkDEBUGCODE(, this) ] (GrSurfaceProxy* p, GrMipMapped) {
alloc->addInterval(p, alloc->curOp(), alloc->curOp(), GrResourceAllocator::ActualUse::kYes
SkDEBUGCODE(, fTarget.get() == p));
};