aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/GrResourceAllocator.cpp
diff options
context:
space:
mode:
authorGravatar Chris Dalton <csmartdalton@google.com>2017-11-29 11:32:18 -0700
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-11-29 19:02:45 +0000
commitc666502bc6975a73ef352d673b151017a21e8562 (patch)
treefd2b693b80a8fedaff81bac3cd4e1f048abc0519 /src/gpu/GrResourceAllocator.cpp
parent0425febe6132a0e2824efbbd323efb2a71504776 (diff)
Make sure to visit clips and dst proxies during gather
Bug: skia:7190 Change-Id: I6ba5bad6e155e9092dff9c2ad3241f603c333b4d Reviewed-on: https://skia-review.googlesource.com/76460 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
Diffstat (limited to 'src/gpu/GrResourceAllocator.cpp')
-rw-r--r--src/gpu/GrResourceAllocator.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/gpu/GrResourceAllocator.cpp b/src/gpu/GrResourceAllocator.cpp
index 5cb882f61c..11fa7ea7ea 100644
--- a/src/gpu/GrResourceAllocator.cpp
+++ b/src/gpu/GrResourceAllocator.cpp
@@ -50,7 +50,14 @@ void GrResourceAllocator::addInterval(GrSurfaceProxy* proxy,
if (Interval* intvl = fIntvlHash.find(proxy->uniqueID().asUInt())) {
// Revise the interval for an existing use
- SkASSERT(intvl->end() <= start && intvl->end() <= end);
+#ifdef SK_DEBUG
+ if (proxy->priv().isDirectDstRead_debugOnly()) {
+ // Direct reads from the render target itself should occur w/in the existing interval
+ SkASSERT(intvl->start() <= start && intvl->end() >= end);
+ } else {
+ SkASSERT(intvl->end() <= start && intvl->end() <= end);
+ }
+#endif
intvl->extendEnd(end);
return;
}