|
Revert 260177 "By keeping track of transfer buffer usage (both s..."
Caused a heap-use-after-free in GLES2DecoderManualInitTest.AsyncPixelTransfers
on Linux ASan+LSan Tests (1):
http://build.chromium.org/p/chromium.memory/builders/Linux%20ASan%2BLSan%20Tests%20%281%29/builds/863
> By keeping track of transfer buffer usage (both sync and async), it is
> possible to reuse an existing transfer buffer earlier than it is today.
>
> For synchronous uploads, this is done by inserting tokens marking a
> buffer's last usage. If such a token has passed, the buffer can be
> reused.
>
> For asynchronous uploads, this is done by adding an internal async
> upload token to the GLES2Implementation and GLES2CmdDecoderImpl that
> enumerates all asynchronous uploads. When an upload is completed, the
> token is synchronized with the client which then can free the memory
> associated with the async token.
>
> The fenced allocator and mapped memory manager gets a callback that is
> used to allow fenced allocator to make the user, in this case
> GLES2Implementation, poll the current async upload token and free any
> associated memory.
>
> BUG= 328808
>
> Review URL: https://codereview.chromium.org/116863003
TBR=jadahl@opera.com
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=260193
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+86 lines, -924 lines) |
Patch |
 |
M |
trunk/src/gpu/GLES2/gl2chromium_autogen.h
|
View
|
|
1 chunk |
+0 lines, -2 lines |
0 comments
|
Download
|
 |
M |
trunk/src/gpu/command_buffer/build_gles2_cmd_buffer.py
|
View
|
|
3 chunks |
+0 lines, -22 lines |
0 comments
|
Download
|
 |
M |
trunk/src/gpu/command_buffer/client/buffer_tracker.h
|
View
|
|
4 chunks |
+7 lines, -19 lines |
0 comments
|
Download
|
 |
M |
trunk/src/gpu/command_buffer/client/buffer_tracker.cc
|
View
|
|
1 chunk |
+0 lines, -22 lines |
0 comments
|
Download
|
 |
M |
trunk/src/gpu/command_buffer/client/buffer_tracker_unittest.cc
|
View
|
|
3 chunks |
+1 line, -23 lines |
0 comments
|
Download
|
 |
M |
trunk/src/gpu/command_buffer/client/cmd_buffer_helper.h
|
View
|
|
1 chunk |
+0 lines, -9 lines |
0 comments
|
Download
|
 |
M |
trunk/src/gpu/command_buffer/client/fenced_allocator.h
|
View
|
|
4 chunks |
+2 lines, -6 lines |
0 comments
|
Download
|
 |
M |
trunk/src/gpu/command_buffer/client/fenced_allocator.cc
|
View
|
|
2 chunks |
+3 lines, -8 lines |
0 comments
|
Download
|
 |
M |
trunk/src/gpu/command_buffer/client/fenced_allocator_test.cc
|
View
|
|
5 chunks |
+2 lines, -69 lines |
0 comments
|
Download
|
 |
M |
trunk/src/gpu/command_buffer/client/gles2_c_lib_autogen.h
|
View
|
|
2 chunks |
+0 lines, -6 lines |
0 comments
|
Download
|
 |
M |
trunk/src/gpu/command_buffer/client/gles2_cmd_helper_autogen.h
|
View
|
|
5 chunks |
+4 lines, -24 lines |
0 comments
|
Download
|
 |
M |
trunk/src/gpu/command_buffer/client/gles2_implementation.h
|
View
|
|
2 chunks |
+0 lines, -44 lines |
0 comments
|
Download
|
 |
M |
trunk/src/gpu/command_buffer/client/gles2_implementation.cc
|
View
|
|
21 chunks |
+31 lines, -160 lines |
0 comments
|
Download
|
 |
M |
trunk/src/gpu/command_buffer/client/gles2_implementation_autogen.h
|
View
|
|
1 chunk |
+0 lines, -2 lines |
0 comments
|
Download
|
 |
M |
trunk/src/gpu/command_buffer/client/gles2_interface_autogen.h
|
View
|
|
1 chunk |
+0 lines, -1 line |
0 comments
|
Download
|
 |
M |
trunk/src/gpu/command_buffer/client/gles2_interface_stub_autogen.h
|
View
|
|
1 chunk |
+0 lines, -1 line |
0 comments
|
Download
|
 |
M |
trunk/src/gpu/command_buffer/client/gles2_interface_stub_impl_autogen.h
|
View
|
|
1 chunk |
+0 lines, -1 line |
0 comments
|
Download
|
 |
M |
trunk/src/gpu/command_buffer/client/gles2_trace_implementation_autogen.h
|
View
|
|
1 chunk |
+0 lines, -1 line |
0 comments
|
Download
|
 |
M |
trunk/src/gpu/command_buffer/client/gles2_trace_implementation_impl_autogen.h
|
View
|
|
1 chunk |
+0 lines, -6 lines |
0 comments
|
Download
|
 |
M |
trunk/src/gpu/command_buffer/client/mapped_memory.h
|
View
|
|
5 chunks |
+1 line, -14 lines |
0 comments
|
Download
|
 |
M |
trunk/src/gpu/command_buffer/client/mapped_memory.cc
|
View
|
|
2 chunks |
+3 lines, -6 lines |
0 comments
|
Download
|
 |
M |
trunk/src/gpu/command_buffer/client/mapped_memory_unittest.cc
|
View
|
|
7 chunks |
+4 lines, -71 lines |
0 comments
|
Download
|
 |
M |
trunk/src/gpu/command_buffer/client/query_tracker_unittest.cc
|
View
|
|
3 chunks |
+2 lines, -7 lines |
0 comments
|
Download
|
 |
M |
trunk/src/gpu/command_buffer/cmd_buffer_functions.txt
|
View
|
|
1 chunk |
+0 lines, -1 line |
0 comments
|
Download
|
 |
M |
trunk/src/gpu/command_buffer/common/gles2_cmd_format.h
|
View
|
|
1 chunk |
+0 lines, -19 lines |
0 comments
|
Download
|
 |
M |
trunk/src/gpu/command_buffer/common/gles2_cmd_format_autogen.h
|
View
|
|
13 chunks |
+10 lines, -79 lines |
0 comments
|
Download
|
 |
M |
trunk/src/gpu/command_buffer/common/gles2_cmd_format_test.cc
|
View
|
|
2 chunks |
+0 lines, -67 lines |
0 comments
|
Download
|
 |
M |
trunk/src/gpu/command_buffer/common/gles2_cmd_format_test_autogen.h
|
View
|
|
5 chunks |
+2 lines, -24 lines |
0 comments
|
Download
|
 |
M |
trunk/src/gpu/command_buffer/common/gles2_cmd_ids_autogen.h
|
View
|
|
1 chunk |
+8 lines, -9 lines |
0 comments
|
Download
|
 |
M |
trunk/src/gpu/command_buffer/service/async_pixel_transfer_manager.h
|
View
|
|
1 chunk |
+0 lines, -3 lines |
0 comments
|
Download
|
 |
M |
trunk/src/gpu/command_buffer/service/async_pixel_transfer_manager_egl.h
|
View
|
|
1 chunk |
+0 lines, -1 line |
0 comments
|
Download
|
 |
M |
trunk/src/gpu/command_buffer/service/async_pixel_transfer_manager_egl.cc
|
View
|
|
1 chunk |
+0 lines, -10 lines |
0 comments
|
Download
|
 |
M |
trunk/src/gpu/command_buffer/service/async_pixel_transfer_manager_idle.h
|
View
|
|
1 chunk |
+1 line, -6 lines |
0 comments
|
Download
|
 |
M |
trunk/src/gpu/command_buffer/service/async_pixel_transfer_manager_idle.cc
|
View
|
|
5 chunks |
+1 line, -16 lines |
0 comments
|
Download
|
 |
M |
trunk/src/gpu/command_buffer/service/async_pixel_transfer_manager_mock.h
|
View
|
|
1 chunk |
+0 lines, -1 line |
0 comments
|
Download
|
 |
M |
trunk/src/gpu/command_buffer/service/async_pixel_transfer_manager_share_group.h
|
View
|
|
1 chunk |
+0 lines, -1 line |
0 comments
|
Download
|
 |
M |
trunk/src/gpu/command_buffer/service/async_pixel_transfer_manager_share_group.cc
|
View
|
|
1 chunk |
+0 lines, -10 lines |
0 comments
|
Download
|
 |
M |
trunk/src/gpu/command_buffer/service/async_pixel_transfer_manager_stub.h
|
View
|
|
1 chunk |
+0 lines, -1 line |
0 comments
|
Download
|
 |
M |
trunk/src/gpu/command_buffer/service/async_pixel_transfer_manager_stub.cc
|
View
|
|
1 chunk |
+0 lines, -3 lines |
0 comments
|
Download
|
 |
M |
trunk/src/gpu/command_buffer/service/async_pixel_transfer_manager_sync.h
|
View
|
|
1 chunk |
+0 lines, -1 line |
0 comments
|
Download
|
 |
M |
trunk/src/gpu/command_buffer/service/async_pixel_transfer_manager_sync.cc
|
View
|
|
1 chunk |
+0 lines, -3 lines |
0 comments
|
Download
|
 |
M |
trunk/src/gpu/command_buffer/service/gles2_cmd_decoder.cc
|
View
|
|
7 chunks |
+0 lines, -94 lines |
0 comments
|
Download
|
 |
M |
trunk/src/gpu/command_buffer/service/gles2_cmd_decoder_unittest.cc
|
View
|
|
4 chunks |
+4 lines, -49 lines |
0 comments
|
Download
|
 |
M |
trunk/src/gpu/command_buffer/service/gles2_cmd_decoder_unittest_3_autogen.h
|
View
|
|
1 chunk |
+0 lines, -2 lines |
0 comments
|
Download
|
Total messages: 3 (0 generated)
|