|
Rebind EGL context to flush driver caches
Android Adreno drivers do not flush caches on glFinish, making it hard to clear up app resources when going to the background.
To work around this, we introduce a glFlushDriverCachesCHROMIUM call which does the right thing based on the driver workaround list.
On most cards, this call simply does a glFinish, which will clean up driver caches. On Adreno GPUs, this call binds a NULL surface/context then re-binds the correct surface/context.
This causes the driver's texture cache to flush, reducing our memory usage by around ~6mb.
BUG= 505495, 509727
Committed: https://crrev.com/9c79932e180918336f6140236a2cdedcaed4f535
Cr-Commit-Position: refs/heads/master@{#338883}
Total comments: 5
Total comments: 3
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+160 lines, -20 lines) |
Patch |
 |
M |
gpu/GLES2/gl2chromium_autogen.h
|
View
|
1
2
3
4
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
 |
M |
gpu/command_buffer/build_gles2_cmd_buffer.py
|
View
|
1
2
3
4
|
1 chunk |
+7 lines, -0 lines |
0 comments
|
Download
|
 |
M |
gpu/command_buffer/client/gles2_c_lib_autogen.h
|
View
|
1
2
3
4
|
2 chunks |
+7 lines, -0 lines |
0 comments
|
Download
|
 |
M |
gpu/command_buffer/client/gles2_cmd_helper_autogen.h
|
View
|
1
2
3
4
|
1 chunk |
+8 lines, -0 lines |
0 comments
|
Download
|
 |
M |
gpu/command_buffer/client/gles2_implementation.cc
|
View
|
1
2
3
4
|
1 chunk |
+10 lines, -3 lines |
0 comments
|
Download
|
 |
M |
gpu/command_buffer/client/gles2_implementation_autogen.h
|
View
|
1
2
3
4
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
 |
M |
gpu/command_buffer/client/gles2_implementation_impl_autogen.h
|
View
|
1
2
3
4
|
1 chunk |
+8 lines, -0 lines |
0 comments
|
Download
|
 |
M |
gpu/command_buffer/client/gles2_implementation_unittest_autogen.h
|
View
|
1
2
3
4
|
1 chunk |
+11 lines, -0 lines |
0 comments
|
Download
|
 |
M |
gpu/command_buffer/client/gles2_interface_autogen.h
|
View
|
1
2
3
4
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
 |
M |
gpu/command_buffer/client/gles2_interface_stub_autogen.h
|
View
|
1
2
3
4
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
 |
M |
gpu/command_buffer/client/gles2_interface_stub_impl_autogen.h
|
View
|
1
2
3
4
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
 |
M |
gpu/command_buffer/client/gles2_trace_implementation_autogen.h
|
View
|
1
2
3
4
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
 |
M |
gpu/command_buffer/client/gles2_trace_implementation_impl_autogen.h
|
View
|
1
2
3
4
|
1 chunk |
+5 lines, -0 lines |
0 comments
|
Download
|
 |
M |
gpu/command_buffer/cmd_buffer_functions.txt
|
View
|
1
2
3
4
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
 |
M |
gpu/command_buffer/common/gles2_cmd_format_autogen.h
|
View
|
1
2
3
4
|
1 chunk |
+27 lines, -0 lines |
0 comments
|
Download
|
 |
M |
gpu/command_buffer/common/gles2_cmd_format_test_autogen.h
|
View
|
1
2
3
4
|
1 chunk |
+10 lines, -0 lines |
0 comments
|
Download
|
 |
M |
gpu/command_buffer/common/gles2_cmd_ids_autogen.h
|
View
|
1
2
3
4
|
1 chunk |
+17 lines, -16 lines |
0 comments
|
Download
|
 |
M |
gpu/command_buffer/service/gles2_cmd_decoder.cc
|
View
|
1
2
3
4
|
2 chunks |
+11 lines, -0 lines |
0 comments
|
Download
|
 |
M |
gpu/command_buffer/service/gles2_cmd_decoder_autogen.h
|
View
|
1
2
3
4
|
1 chunk |
+10 lines, -0 lines |
0 comments
|
Download
|
 |
M |
gpu/command_buffer/service/gles2_cmd_decoder_unittest_3_autogen.h
|
View
|
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
 |
M |
gpu/config/gpu_driver_bug_list_json.cc
|
View
|
1
2
3
4
|
2 chunks |
+13 lines, -1 line |
0 comments
|
Download
|
 |
M |
gpu/config/gpu_driver_bug_workaround_type.h
|
View
|
1
2
3
4
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
 |
M |
mojo/gpu/mojo_gles2_impl_autogen.h
|
View
|
1
2
3
4
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
 |
M |
mojo/gpu/mojo_gles2_impl_autogen.cc
|
View
|
1
2
3
4
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
Total messages: 33 (18 generated)
|