diff options
author | 2016-04-01 11:54:31 -0700 | |
---|---|---|
committer | 2016-04-01 11:54:31 -0700 | |
commit | 6e2aad4e9f6280aa2b710e7324458fdc6d699ec5 (patch) | |
tree | 77bf09c049b5afe4aaccd66b7926050c53bbebff /dm | |
parent | 895f3f0544ce38d35999771754cbb1d876c14b5a (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.h | 2 | ||||
-rw-r--r-- | dm/DMSrcSink.cpp | 2 |
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 ""; } |