Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(14)

Issue 199443004: gpu: Raise GL_OUT_OF_MEMORY when BeginQueryEXT fails to allocate. (Closed)

Created:
6 years, 9 months ago by danakj
Modified:
6 years, 8 months ago
CC:
chromium-reviews, piman+watch_chromium.org, jamesr, no sievers, vmiura
Visibility:
Public.

Description

gpu: Lose context when BeginQueryEXT fails to allocate. Instead of crashes, raise a GL_OUT_OF_MEMORY error. Since compositor does not want to deal with these errors and it would leave it in a bad state, add the ability to lose the context when GL_OUT_OF_MEMORY occurs. R=dmichael@chromium.org, jamesr@chromium.org, piman@chromium.org, piman BUG=351587 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=261120

Patch Set 1 #

Total comments: 2

Patch Set 2 : checkmem: #

Patch Set 3 : checkmem: #

Patch Set 4 : checkmem: #

Patch Set 5 : checkmem: #

Patch Set 6 : checkmem: #

Patch Set 7 : checkmem: #

Patch Set 8 : checkmem: #

Total comments: 5

Patch Set 9 : checkmem: rebase #

Patch Set 10 : checkmem: guilty #

Patch Set 11 : checkmem: rebase #

Patch Set 12 : checkmem: noattribute #

Patch Set 13 : checkmem: rebase #

Patch Set 14 : checkmem: compile #

Patch Set 15 : checkmem: compile_more #

Patch Set 16 : checkmem: with-test #

Patch Set 17 : checkmem: browsertest #

Patch Set 18 : checkmem: bools #

Patch Set 19 : checkmem: b #

Patch Set 20 : checkmem: typedef #

Patch Set 21 : checkmem: mojo #

Patch Set 22 : checkmem: gles2impl-tests #

Total comments: 3

Patch Set 23 : checkmem: todo #

Patch Set 24 : checkmem: benchmark #

Unified diffs Side-by-side diffs Delta from patch set Stats (+855 lines, -1029 lines) Patch
M content/browser/android/in_process/synchronous_compositor_factory_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 1 chunk +3 lines, -5 lines 0 comments Download
M content/browser/compositor/gpu_process_transport_factory.cc View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +4 lines, -1 line 0 comments Download
M content/browser/gpu/gpu_ipc_browsertests.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 2 chunks +4 lines, -0 lines 0 comments Download
M content/browser/renderer_host/compositor_impl_android.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 1 chunk +4 lines, -1 line 0 comments Download
M content/browser/renderer_host/image_transport_factory_android.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 chunk +4 lines, -1 line 0 comments Download
M content/common/gpu/client/context_provider_command_buffer_browsertest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 2 chunks +2 lines, -0 lines 0 comments Download
M content/common/gpu/client/gl_helper_benchmark.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 1 chunk +2 lines, -1 line 0 comments Download
M content/common/gpu/client/gl_helper_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +2 lines, -1 line 0 comments Download
M content/common/gpu/client/gpu_in_process_context_tests.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +4 lines, -2 lines 0 comments Download
M content/common/gpu/client/webgraphicscontext3d_command_buffer_impl.h View 1 2 3 4 5 6 7 8 9 10 11 4 chunks +18 lines, -14 lines 0 comments Download
M content/common/gpu/client/webgraphicscontext3d_command_buffer_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 6 chunks +22 lines, -13 lines 0 comments Download
M content/renderer/render_thread_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 3 chunks +6 lines, -1 line 0 comments Download
M content/renderer/render_widget.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +1 line, -2 lines 0 comments Download
M content/renderer/render_widget.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 4 chunks +28 lines, -28 lines 0 comments Download
M content/renderer/renderer_webkitplatformsupport_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 1 chunk +2 lines, -1 line 0 comments Download
M content/test/test_context_provider_factory.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +3 lines, -1 line 0 comments Download
M gpu/command_buffer/client/gl_in_process_context.h View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M gpu/command_buffer/client/gl_in_process_context.cc View 1 2 4 chunks +9 lines, -1 line 0 comments Download
M gpu/command_buffer/client/gles2_implementation.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 3 chunks +9 lines, -11 lines 0 comments Download
M gpu/command_buffer/client/gles2_implementation.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 5 chunks +15 lines, -16 lines 0 comments Download
M gpu/command_buffer/client/gles2_implementation_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 8 chunks +63 lines, -11 lines 0 comments Download
M gpu/command_buffer/common/gles2_cmd_utils.h View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M gpu/command_buffer/common/gles2_cmd_utils.cc View 1 2 3 chunks +19 lines, -13 lines 0 comments Download
M gpu/command_buffer/service/context_state.h View 1 2 3 4 5 6 7 8 9 10 2 chunks +4 lines, -1 line 0 comments Download
M gpu/command_buffer/service/context_state.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +4 lines, -2 lines 0 comments Download
M gpu/command_buffer/service/error_state.h View 1 2 1 chunk +6 lines, -1 line 0 comments Download
M gpu/command_buffer/service/error_state.cc View 1 2 4 chunks +8 lines, -6 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 12 13 14 15 16 17 7 chunks +21 lines, -2 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 84 chunks +441 lines, -775 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 3 chunks +20 lines, -23 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 7 chunks +49 lines, -61 lines 0 comments Download
M gpu/command_buffer/tests/gl_manager.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +2 lines, -0 lines 0 comments Download
M gpu/command_buffer/tests/gl_manager.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 chunks +9 lines, -8 lines 0 comments Download
M gpu/gles2_conform_support/egl/display.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +9 lines, -7 lines 0 comments Download
M mojo/examples/aura_demo/demo_context_factory.cc View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +6 lines, -2 lines 0 comments Download
M mojo/gles2/gles2_context.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 1 chunk +6 lines, -1 line 0 comments Download
M ppapi/shared_impl/ppb_graphics_3d_shared.cc View 1 2 2 chunks +2 lines, -0 lines 0 comments Download
M ui/compositor/test/in_process_context_factory.cc View 1 2 3 4 5 6 7 8 9 10 11 3 chunks +8 lines, -3 lines 0 comments Download
M webkit/common/gpu/context_provider_in_process.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +3 lines, -3 lines 0 comments Download
M webkit/common/gpu/context_provider_in_process.cc View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +4 lines, -2 lines 0 comments Download
M webkit/common/gpu/webgraphicscontext3d_in_process_command_buffer_impl.h View 1 2 3 4 5 6 7 8 9 10 11 3 chunks +5 lines, -1 line 0 comments Download
M webkit/common/gpu/webgraphicscontext3d_in_process_command_buffer_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 5 chunks +22 lines, -7 lines 0 comments Download

Messages

Total messages: 53 (0 generated)
danakj
MappedMemoryManager has a CommandBufferHelper which is not able to raise errors. It provides access to ...
6 years, 9 months ago (2014-03-13 21:52:43 UTC) #1
piman
lgtm https://codereview.chromium.org/199443004/diff/1/gpu/command_buffer/client/gles2_implementation.cc File gpu/command_buffer/client/gles2_implementation.cc (left): https://codereview.chromium.org/199443004/diff/1/gpu/command_buffer/client/gles2_implementation.cc#oldcode3288 gpu/command_buffer/client/gles2_implementation.cc:3288: MustBeContextLost(); I think that was the last caller. ...
6 years, 9 months ago (2014-03-14 00:45:57 UTC) #2
danakj
https://codereview.chromium.org/199443004/diff/1/gpu/command_buffer/client/gles2_implementation.cc File gpu/command_buffer/client/gles2_implementation.cc (left): https://codereview.chromium.org/199443004/diff/1/gpu/command_buffer/client/gles2_implementation.cc#oldcode3288 gpu/command_buffer/client/gles2_implementation.cc:3288: MustBeContextLost(); On 2014/03/14 00:45:57, piman wrote: > I think ...
6 years, 9 months ago (2014-03-14 01:15:48 UTC) #3
danakj
The CQ bit was checked by danakj@chromium.org
6 years, 9 months ago (2014-03-14 01:15:51 UTC) #4
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/danakj@chromium.org/199443004/20001
6 years, 9 months ago (2014-03-14 01:17:05 UTC) #5
danakj
The CQ bit was unchecked by danakj@chromium.org
6 years, 9 months ago (2014-03-14 01:20:03 UTC) #6
danakj
This patch now does the following: 1. Raise GL_OOM when BeginQuery fails to allocate memory. ...
6 years, 9 months ago (2014-03-21 19:25:38 UTC) #7
danakj
On Fri, Mar 21, 2014 at 3:25 PM, <danakj@chromium.org> wrote: > This patch now does ...
6 years, 9 months ago (2014-03-21 19:28:27 UTC) #8
danakj
On 2014/03/21 19:28:27, danakj wrote: > On Fri, Mar 21, 2014 at 3:25 PM, <mailto:danakj@chromium.org> ...
6 years, 9 months ago (2014-03-21 20:31:47 UTC) #9
piman
lgtm https://codereview.chromium.org/199443004/diff/130001/gpu/command_buffer/client/gles2_implementation.cc File gpu/command_buffer/client/gles2_implementation.cc (right): https://codereview.chromium.org/199443004/diff/130001/gpu/command_buffer/client/gles2_implementation.cc#newcode490 gpu/command_buffer/client/gles2_implementation.cc:490: helper_->LoseContextCHROMIUM(GL_UNKNOWN_CONTEXT_RESET_ARB, nit: we're the guilty one. https://codereview.chromium.org/199443004/diff/130001/gpu/command_buffer/service/gles2_cmd_decoder.cc File ...
6 years, 9 months ago (2014-03-21 21:34:48 UTC) #10
danakj
https://codereview.chromium.org/199443004/diff/130001/gpu/command_buffer/client/gles2_implementation.cc File gpu/command_buffer/client/gles2_implementation.cc (right): https://codereview.chromium.org/199443004/diff/130001/gpu/command_buffer/client/gles2_implementation.cc#newcode490 gpu/command_buffer/client/gles2_implementation.cc:490: helper_->LoseContextCHROMIUM(GL_UNKNOWN_CONTEXT_RESET_ARB, On 2014/03/21 21:34:48, piman wrote: > nit: we're ...
6 years, 9 months ago (2014-03-21 21:36:01 UTC) #11
piman
On Fri, Mar 21, 2014 at 2:36 PM, <danakj@chromium.org> wrote: > > https://codereview.chromium.org/199443004/diff/130001/gpu/ > command_buffer/client/gles2_implementation.cc ...
6 years, 9 months ago (2014-03-21 22:10:25 UTC) #12
danakj
https://codereview.chromium.org/199443004/diff/130001/gpu/command_buffer/client/gles2_implementation.cc File gpu/command_buffer/client/gles2_implementation.cc (right): https://codereview.chromium.org/199443004/diff/130001/gpu/command_buffer/client/gles2_implementation.cc#newcode490 gpu/command_buffer/client/gles2_implementation.cc:490: helper_->LoseContextCHROMIUM(GL_UNKNOWN_CONTEXT_RESET_ARB, On 2014/03/21 21:36:02, danakj wrote: > On 2014/03/21 ...
6 years, 9 months ago (2014-03-21 22:53:50 UTC) #13
danakj
+dmichael for ppapi/ : passing false to GLES2Implementation to keep existing behaviour for pepper contexts.
6 years, 9 months ago (2014-03-21 22:56:03 UTC) #14
dmichael (off chromium)
ppapi lgtm
6 years, 9 months ago (2014-03-24 17:12:07 UTC) #15
danakj
The CQ bit was checked by danakj@chromium.org
6 years, 9 months ago (2014-03-24 18:03:58 UTC) #16
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/danakj@chromium.org/199443004/170001
6 years, 9 months ago (2014-03-24 18:05:04 UTC) #17
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 9 months ago (2014-03-24 18:28:11 UTC) #18
commit-bot: I haz the power
Try jobs failed on following builders: tryserver.chromium on win_chromium_compile_dbg
6 years, 9 months ago (2014-03-24 18:28:11 UTC) #19
danakj
PTAL. Updated the CL. For in process contexts, we leave the attribute on gpu::GLInProcessContextAttribs. Added ...
6 years, 9 months ago (2014-03-25 22:35:10 UTC) #20
danakj
+jamesr for mojo/ OWNERS
6 years, 9 months ago (2014-03-25 22:51:36 UTC) #21
dmichael (off chromium)
ppapi still lgtm
6 years, 9 months ago (2014-03-25 23:38:51 UTC) #22
jamesr
lgtm
6 years, 9 months ago (2014-03-26 00:53:05 UTC) #23
piman
lgtm
6 years, 9 months ago (2014-03-26 23:34:31 UTC) #24
danakj
The CQ bit was checked by danakj@chromium.org
6 years, 9 months ago (2014-03-26 23:35:25 UTC) #25
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/danakj@chromium.org/199443004/250001
6 years, 9 months ago (2014-03-26 23:37:33 UTC) #26
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 9 months ago (2014-03-26 23:37:45 UTC) #27
commit-bot: I haz the power
Failed to apply patch for content/renderer/render_widget.cc: While running patch -p1 --forward --force --no-backup-if-mismatch; patching file ...
6 years, 9 months ago (2014-03-26 23:37:46 UTC) #28
danakj
The CQ bit was checked by danakj@chromium.org
6 years, 9 months ago (2014-03-26 23:43:46 UTC) #29
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/danakj@chromium.org/199443004/310001
6 years, 9 months ago (2014-03-26 23:45:39 UTC) #30
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 9 months ago (2014-03-27 00:18:36 UTC) #31
commit-bot: I haz the power
Try jobs failed on following builders: tryserver.chromium on win_chromium_compile_dbg
6 years, 9 months ago (2014-03-27 00:18:36 UTC) #32
danakj
The CQ bit was checked by danakj@chromium.org
6 years, 9 months ago (2014-03-27 00:23:36 UTC) #33
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/danakj@chromium.org/199443004/330001
6 years, 9 months ago (2014-03-27 00:33:52 UTC) #34
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 9 months ago (2014-03-27 01:17:00 UTC) #35
commit-bot: I haz the power
Retried try job too often on android_clang_dbg for step(s) slave_steps http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=android_clang_dbg&number=127246
6 years, 9 months ago (2014-03-27 01:17:01 UTC) #36
danakj
The CQ bit was checked by danakj@chromium.org
6 years, 8 months ago (2014-03-31 14:37:52 UTC) #37
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/danakj@chromium.org/199443004/350001
6 years, 8 months ago (2014-03-31 14:38:14 UTC) #38
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 8 months ago (2014-03-31 15:01:10 UTC) #39
commit-bot: I haz the power
Try jobs failed on following builders: tryserver.chromium on win_chromium_compile_dbg
6 years, 8 months ago (2014-03-31 15:01:10 UTC) #40
danakj
I've added a test for the GLES2Decoder, need to figure out one for the GLES2Implmentation ...
6 years, 8 months ago (2014-03-31 23:17:59 UTC) #41
danakj
I've added GLES2Implementation unittests now too. piman@ can you please have a look at the ...
6 years, 8 months ago (2014-04-01 20:50:45 UTC) #42
danakj
( I also updated the android callsites: content/browser/renderer_host/compositor_impl_android.cc content/browser/renderer_host/image_transport_factory_android.cc )
6 years, 8 months ago (2014-04-01 20:52:45 UTC) #43
danakj
https://codereview.chromium.org/199443004/diff/480001/mojo/gles2/gles2_context.cc File mojo/gles2/gles2_context.cc (right): https://codereview.chromium.org/199443004/diff/480001/mojo/gles2/gles2_context.cc#newcode44 mojo/gles2/gles2_context.cc:44: bool lose_context_when_out_of_memory = false; Oh, and one more, over ...
6 years, 8 months ago (2014-04-01 20:56:19 UTC) #44
piman
lgtm https://codereview.chromium.org/199443004/diff/480001/mojo/gles2/gles2_context.cc File mojo/gles2/gles2_context.cc (right): https://codereview.chromium.org/199443004/diff/480001/mojo/gles2/gles2_context.cc#newcode44 mojo/gles2/gles2_context.cc:44: bool lose_context_when_out_of_memory = false; On 2014/04/01 20:56:20, danakj ...
6 years, 8 months ago (2014-04-01 22:13:03 UTC) #45
danakj
https://codereview.chromium.org/199443004/diff/480001/mojo/gles2/gles2_context.cc File mojo/gles2/gles2_context.cc (right): https://codereview.chromium.org/199443004/diff/480001/mojo/gles2/gles2_context.cc#newcode44 mojo/gles2/gles2_context.cc:44: bool lose_context_when_out_of_memory = false; On 2014/04/01 22:13:04, piman wrote: ...
6 years, 8 months ago (2014-04-01 22:16:13 UTC) #46
danakj
The CQ bit was checked by danakj@chromium.org
6 years, 8 months ago (2014-04-01 22:16:24 UTC) #47
danakj
6 years, 8 months ago (2014-04-01 22:16:40 UTC) #48
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/danakj@chromium.org/199443004/410002
6 years, 8 months ago (2014-04-01 22:31:09 UTC) #49
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/danakj@chromium.org/199443004/410002
6 years, 8 months ago (2014-04-02 02:02:03 UTC) #50
commit-bot: I haz the power
Change committed as 261064
6 years, 8 months ago (2014-04-02 04:16:33 UTC) #51
pfeldman
A revert of this CL has been created in https://codereview.chromium.org/221783002/ by pfeldman@chromium.org. The reason for ...
6 years, 8 months ago (2014-04-02 04:54:36 UTC) #52
danakj
6 years, 8 months ago (2014-04-02 14:43:22 UTC) #53
Message was sent while issue was closed.
Committed patchset #24 manually as r261120 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698