diff options
author | sievers <sievers@chromium.org> | 2015-04-27 17:45:31 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-04-28 00:45:49 +0000 |
commit | fbaa5dc2fcb2e482c1daec1b9bcf1d577d53ca30 (patch) | |
tree | b5024f14c70c616a96e9e4254315b7bce287ac27 /gpu/command_buffer/tests | |
parent | 8fbbc669b356f7c25b8c6417738986f5c8525d37 (diff) | |
download | chromium_src-fbaa5dc2fcb2e482c1daec1b9bcf1d577d53ca30.zip chromium_src-fbaa5dc2fcb2e482c1daec1b9bcf1d577d53ca30.tar.gz chromium_src-fbaa5dc2fcb2e482c1daec1b9bcf1d577d53ca30.tar.bz2 |
gpu: Fix some context lost marking glitches+leaks and add UMA stats
* This fixes some glitches in the decoder where we were not ending up
with the correct 'context lost' reason, such as calling things in
the wrong order or calling glGetGraphicsResetStatus() while we might
not have the correct context current.
* Add context lost reasons for when the context group is forcibly lost
when GL_OUT_OF_MEMORY is detected and when MakeCurrent fails.
* Also communicate parse errors to the client.
* Record UMA histograms for each context type
(for example 'browser compositor') with the context lost reason.
* Always lose (client-side) share-group if we force-lose
a context so we don't leak resources.
* Fix a bug where we weren't deleting GL resources if the context was
lost although we might still be able to make it current.
Add a bunch of tests.
BUG=475676
Review URL: https://codereview.chromium.org/1095893002
Cr-Commit-Position: refs/heads/master@{#327197}
Diffstat (limited to 'gpu/command_buffer/tests')
-rw-r--r-- | gpu/command_buffer/tests/gl_manager.cc | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gpu/command_buffer/tests/gl_manager.cc b/gpu/command_buffer/tests/gl_manager.cc index 8988349..23779ea 100644 --- a/gpu/command_buffer/tests/gl_manager.cc +++ b/gpu/command_buffer/tests/gl_manager.cc @@ -404,8 +404,8 @@ void GLManager::Destroy() { gles2_helper_.reset(); command_buffer_.reset(); if (decoder_.get()) { - decoder_->MakeCurrent(); - decoder_->Destroy(true); + bool have_context = decoder_->GetGLContext()->MakeCurrent(surface_.get()); + decoder_->Destroy(have_context); decoder_.reset(); } } |