|
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
Committed: https://crrev.com/fbaa5dc2fcb2e482c1daec1b9bcf1d577d53ca30
Cr-Commit-Position: refs/heads/master@{#327197}
Total comments: 9
Total comments: 5
Total comments: 4
Total comments: 5
Total comments: 7
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+784 lines, -165 lines) |
Patch |
 |
M |
content/browser/compositor/gpu_process_transport_factory.cc
|
View
|
1
2
|
2 chunks |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
M |
content/browser/gpu/gpu_ipc_browsertests.cc
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
content/browser/renderer_host/compositor_impl_android.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
content/browser/renderer_host/media/video_capture_device_client.cc
|
View
|
1
2
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
A |
content/common/gpu/client/command_buffer_metrics.h
|
View
|
1
2
3
4
|
1 chunk |
+37 lines, -0 lines |
0 comments
|
Download
|
 |
A |
content/common/gpu/client/command_buffer_metrics.cc
|
View
|
1
2
3
4
5
6
7
|
1 chunk |
+153 lines, -0 lines |
0 comments
|
Download
|
 |
M |
content/common/gpu/client/command_buffer_proxy_impl.h
|
View
|
|
3 chunks |
+4 lines, -3 lines |
0 comments
|
Download
|
 |
M |
content/common/gpu/client/command_buffer_proxy_impl.cc
|
View
|
1
2
3
4
5
6
7
|
2 chunks |
+9 lines, -8 lines |
0 comments
|
Download
|
 |
M |
content/common/gpu/client/context_provider_command_buffer.h
|
View
|
|
4 chunks |
+4 lines, -2 lines |
0 comments
|
Download
|
 |
M |
content/common/gpu/client/context_provider_command_buffer.cc
|
View
|
|
2 chunks |
+6 lines, -4 lines |
0 comments
|
Download
|
 |
M |
content/common/gpu/client/webgraphicscontext3d_command_buffer_impl.h
|
View
|
|
4 chunks |
+6 lines, -1 line |
0 comments
|
Download
|
 |
M |
content/common/gpu/client/webgraphicscontext3d_command_buffer_impl.cc
|
View
|
1
2
3
4
5
6
7
|
8 chunks |
+18 lines, -6 lines |
0 comments
|
Download
|
 |
M |
content/common/gpu/gpu_command_buffer_stub.cc
|
View
|
1
2
3
4
5
6
7
8
9
|
3 chunks |
+7 lines, -5 lines |
0 comments
|
Download
|
 |
M |
content/common/gpu/gpu_messages.h
|
View
|
|
2 chunks |
+4 lines, -2 lines |
0 comments
|
Download
|
 |
M |
content/content_common.gypi
|
View
|
1
2
3
4
5
6
7
8
9
10
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
 |
M |
content/renderer/pepper/pepper_video_encoder_host.cc
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
content/renderer/pepper/ppb_graphics_3d_impl.cc
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
content/renderer/render_thread_impl.cc
|
View
|
1
2
3
4
5
6
7
8
|
2 chunks |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
M |
content/renderer/render_widget.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
M |
gpu/BUILD.gn
|
View
|
1
2
3
4
5
6
7
8
9
10
|
2 chunks |
+3 lines, -0 lines |
0 comments
|
Download
|
 |
M |
gpu/command_buffer/common/constants.h
|
View
|
1
2
3
4
5
6
7
|
2 chunks |
+13 lines, -2 lines |
0 comments
|
Download
|
 |
M |
gpu/command_buffer/service/context_group.h
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
gpu/command_buffer/service/context_group.cc
|
View
|
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
A |
gpu/command_buffer/service/gl_context_mock.h
|
View
|
|
1 chunk |
+25 lines, -0 lines |
0 comments
|
Download
|
 |
A + |
gpu/command_buffer/service/gl_context_mock.cc
|
View
|
|
1 chunk |
+5 lines, -6 lines |
0 comments
|
Download
|
 |
M |
gpu/command_buffer/service/gles2_cmd_decoder.h
|
View
|
|
1 chunk |
+3 lines, -3 lines |
0 comments
|
Download
|
 |
M |
gpu/command_buffer/service/gles2_cmd_decoder.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
11
|
13 chunks |
+109 lines, -66 lines |
0 comments
|
Download
|
 |
M |
gpu/command_buffer/service/gles2_cmd_decoder_mock.h
|
View
|
|
1 chunk |
+3 lines, -3 lines |
0 comments
|
Download
|
 |
M |
gpu/command_buffer/service/gles2_cmd_decoder_unittest.cc
|
View
|
|
2 chunks |
+18 lines, -5 lines |
0 comments
|
Download
|
 |
M |
gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.h
|
View
|
|
4 chunks |
+6 lines, -2 lines |
0 comments
|
Download
|
 |
M |
gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.cc
|
View
|
|
2 chunks |
+7 lines, -2 lines |
0 comments
|
Download
|
 |
A |
gpu/command_buffer/service/gles2_cmd_decoder_unittest_context_lost.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
11
|
1 chunk |
+273 lines, -0 lines |
0 comments
|
Download
|
 |
M |
gpu/command_buffer/service/gles2_cmd_decoder_unittest_drawing.cc
|
View
|
|
1 chunk |
+0 lines, -29 lines |
0 comments
|
Download
|
 |
M |
gpu/command_buffer/tests/gl_manager.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
M |
gpu/gpu.gyp
|
View
|
1
2
3
4
5
6
7
8
9
10
|
2 chunks |
+3 lines, -0 lines |
0 comments
|
Download
|
 |
M |
tools/metrics/histograms/histograms.xml
|
View
|
|
3 chunks |
+43 lines, -0 lines |
0 comments
|
Download
|
 |
M |
ui/gl/gl_context_stub_with_extensions.h
|
View
|
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
 |
M |
ui/gl/gl_context_stub_with_extensions.cc
|
View
|
|
1 chunk |
+6 lines, -0 lines |
0 comments
|
Download
|
Total messages: 25 (4 generated)
|