Index: gpu/command_buffer/client/gles2_implementation.cc |
diff --git a/gpu/command_buffer/client/gles2_implementation.cc b/gpu/command_buffer/client/gles2_implementation.cc |
index fbd0f182d1ae46b6a458ebbff7f2f01ca4b42bb7..2e7541ed2106716351cabc361483876a74132c62 100644 |
--- a/gpu/command_buffer/client/gles2_implementation.cc |
+++ b/gpu/command_buffer/client/gles2_implementation.cc |
@@ -327,9 +327,16 @@ void GLES2Implementation::SetAggressivelyFreeResources( |
"aggressively_free_resources", aggressively_free_resources); |
aggressively_free_resources_ = aggressively_free_resources; |
- // ShallowFlushCHROMIUM will free resources if |aggressively_free_resources_| |
- // is false. |
- ShallowFlushCHROMIUM(); |
+ if (aggressively_free_resources_) { |
piman
2015/07/13 22:48:07
aggressively_free_resources_ && HaveRingBuffer()
piman
2015/07/13 22:48:48
aggressively_free_resources_ && helper_->HaveRingB
ericrk
2015/07/13 23:07:52
ah, good point
|
+ // Ensure that we clean up as much cache memory as possible and fully flush. |
+ FlushDriverCachesCHROMIUM(); |
+ |
+ // Flush will delete transfer buffer resources if |
+ // |aggressively_free_resources_| is true. |
+ Flush(); |
+ } else { |
+ ShallowFlushCHROMIUM(); |
+ } |
} |
void GLES2Implementation::WaitForCmd() { |