aboutsummaryrefslogtreecommitdiffhomepage
path: root/dm
diff options
context:
space:
mode:
authorGravatar bsalomon <bsalomon@google.com>2016-04-01 11:54:31 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2016-04-01 11:54:31 -0700
commit6e2aad4e9f6280aa2b710e7324458fdc6d699ec5 (patch)
tree77bf09c049b5afe4aaccd66b7926050c53bbebff /dm
parent895f3f0544ce38d35999771754cbb1d876c14b5a (diff)
Add GrContext::releaseAndAbandonContext()
Like abandonContext() this disconnects the GrContext from the underlying 3D API. However, unlike abandonContext it first frees all allocated GPU resources. BUG=skia:5142 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1852733002 Review URL: https://codereview.chromium.org/1852733002
Diffstat (limited to 'dm')
-rw-r--r--dm/DMGpuSupport.h2
-rw-r--r--dm/DMSrcSink.cpp2
2 files changed, 4 insertions, 0 deletions
diff --git a/dm/DMGpuSupport.h b/dm/DMGpuSupport.h
index c713244e9d..490737f41e 100644
--- a/dm/DMGpuSupport.h
+++ b/dm/DMGpuSupport.h
@@ -84,6 +84,8 @@ public:
void destroyContexts() {}
void abandonContexts() {}
+
+ void releaseResourcesAndAbandonContexts() {}
};
} // namespace sk_gpu_test
diff --git a/dm/DMSrcSink.cpp b/dm/DMSrcSink.cpp
index e704f74d03..6584789a0b 100644
--- a/dm/DMSrcSink.cpp
+++ b/dm/DMSrcSink.cpp
@@ -1011,6 +1011,8 @@ Error GPUSink::draw(const Src& src, SkBitmap* dst, SkWStream*, SkString* log) co
canvas->readPixels(dst, 0, 0);
if (FLAGS_abandonGpuContext) {
factory.abandonContexts();
+ } else if (FLAGS_releaseAndAbandonGpuContext) {
+ factory.releaseResourcesAndAbandonContexts();
}
return "";
}