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

Issue 1885903002: Revert of Make lost context and error message callbacks on GpuControl go to client (Closed)

Created:
4 years, 8 months ago by rnephew (Reviews Here)
Modified:
4 years, 8 months ago
CC:
chromium-reviews, rjkroege, mlamouri+watch-content_chromium.org, qsr+mojo_chromium.org, viettrungluu+watch_chromium.org, jam, yzshen+watch_chromium.org, sievers+watch_chromium.org, jbauman+watch_chromium.org, Aaron Boodman, darin-cc_chromium.org, piman+watch_chromium.org, mkwst+moarreviews-renderer_chromium.org, kalyank, danakj+watch_chromium.org, abarth-chromium, ben+mojo_chromium.org, darin (slow to review), dcheng, Zhenyao Mo
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Revert of Make lost context and error message callbacks on GpuControl go to client (patchset #18 id:360001 of https://codereview.chromium.org/1864723003/ ) Reason for revert: This possibly causes page_cycler.intl_hi_ru and page_cycler.intl_es_fr_pt-BR to fail. crbug.com/602801 Original issue's description: > Make lost context and error message callbacks on GpuControl go to client > > In this we introduce a GpuControlClient, that implementations of > GpuControl will call to notify about the context becoming lost, or of > error messages. > > Users of GpuControl implement the client to hear about these states. > The most important users of GpuControl here are: > - GLES2Implementation, which now has 2 base::Callbacks which it forwards > these events to, if they have been set by the user of the > GLES2Implementation. > - PPB_Graphics3D_Impl, which acts on these two events. > - PepperVideoEncoderHost, which turns lost context events into a call > to NotifyPepperError(PP_ERROR_RESOURCE_FAILED). > - mojo::GLES2Context, which forwards the lost context event to a > registered callback. > > Other owners of GpuControl (if they exist) never set callbacks on > CommandBufferProxyImpl or equivalent before, so they don't care to > listen to these events and just opt out of setting the client > altogether. > > The main implementations of GpuControl here are: > - CommandBufferProxyImpl, which will now call the client instead of > owning base::Callbacks for these two events. > - mojo::CommandBufferClientImpl, which notifies its client of lost > contexts, but has no concept of error messages. > - InProcessCommandBuffer, which will now call the client (on the client > thread) instead of owning and wrapping base::Callbacks for the lost > context event. It also has no error messages. > > For other implementations of GpuControl there is no chance to lose the > context or generate error messages, and they don't even bother to store > the client since it would go unused. > > WebGraphicsContext3D{CommandBuffer}Impl continues to be used for these > callbacks, but it now goes directly to the GLES2Implementation to set > callbacks, instead of bypassing it to the CommandBufferProxyImpl. > > The next step will be to have Blink or the ContextProvider directly set > these callbacks on the GLES2Implementation, bypassing the > WebGraphicsContext3DImpls entirely. This isn't possible today as the > two versions of WebGraphicsContext3DImpl (which are > WebGraphicsContext3DCommandBufferImpl and > WebGraphicsContext3DInProcessCommandBufferImpl) each have different > versions of the GpuControl, while both having a GLES2Implementation, > forcing ContextProviderCommandBuffer to route through this fork > when setting the callbacks. > > R=piman@chomium.org > BUG=584497 > CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_optional_gpu_tests_rel;tryserver.chromium.mac:mac_optional_gpu_tests_rel;tryserver.chromium.win:win_optional_gpu_tests_rel > > Committed: https://crrev.com/10057772128ab5e67452dc736bf15752dc434ed3 > Cr-Commit-Position: refs/heads/master@{#386761} TBR=piman@chromium.org,sievers@chromium.org,boliu@chromium.org,fsamuel@chromium.org,sky@chromium.org,wez@chromium.org,danakj@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=584497

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+228 lines, -328 lines) Patch
M android_webview/browser/aw_render_thread_context_provider.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M blimp/client/BUILD.gn View 1 chunk +0 lines, -1 line 0 comments Download
M blimp/client/feature/compositor/blimp_context_provider.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M cc/test/test_context_provider.cc View 1 chunk +1 line, -1 line 0 comments Download
M components/mus/gles2/command_buffer_local.h View 4 chunks +0 lines, -4 lines 0 comments Download
M components/mus/gles2/command_buffer_local.cc View 4 chunks +2 lines, -11 lines 0 comments Download
M components/mus/gles2/command_buffer_local_client.h View 1 chunk +1 line, -0 lines 0 comments Download
M components/mus/surfaces/surfaces_context_provider.h View 1 chunk +1 line, -0 lines 0 comments Download
M components/mus/surfaces/surfaces_context_provider.cc View 2 chunks +5 lines, -1 line 0 comments Download
M content/browser/android/in_process/context_provider_in_process.cc View 1 chunk +1 line, -1 line 0 comments Download
M content/common/gpu/client/context_provider_command_buffer.cc View 1 chunk +1 line, -1 line 0 comments Download
M content/common/gpu/client/webgraphicscontext3d_command_buffer_impl.h View 1 chunk +1 line, -2 lines 0 comments Download
M content/common/gpu/client/webgraphicscontext3d_command_buffer_impl.cc View 3 chunks +9 lines, -19 lines 0 comments Download
M content/renderer/pepper/pepper_video_encoder_host.h View 4 chunks +1 line, -11 lines 0 comments Download
M content/renderer/pepper/pepper_video_encoder_host.cc View 2 chunks +3 lines, -11 lines 0 comments Download
M content/renderer/pepper/ppb_graphics_3d_impl.h View 4 chunks +4 lines, -12 lines 0 comments Download
M content/renderer/pepper/ppb_graphics_3d_impl.cc View 4 chunks +22 lines, -31 lines 0 comments Download
M gpu/blink/webgraphicscontext3d_impl.h View 1 chunk +10 lines, -2 lines 0 comments Download
M gpu/blink/webgraphicscontext3d_impl.cc View 2 chunks +38 lines, -0 lines 0 comments Download
M gpu/blink/webgraphicscontext3d_in_process_command_buffer_impl.cc View 1 chunk +0 lines, -5 lines 0 comments Download
M gpu/command_buffer/client/client_test_helper.h View 1 chunk +0 lines, -1 line 0 comments Download
M gpu/command_buffer/client/gl_in_process_context.h View 1 chunk +2 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/gl_in_process_context.cc View 6 chunks +16 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/gles2_implementation.h View 7 chunks +12 lines, -15 lines 0 comments Download
M gpu/command_buffer/client/gles2_implementation.cc View 6 chunks +3 lines, -34 lines 0 comments Download
M gpu/command_buffer/client/gles2_implementation_unittest.cc View 2 chunks +6 lines, -9 lines 0 comments Download
M gpu/command_buffer/client/gpu_control.h View 2 chunks +0 lines, -3 lines 0 comments Download
D gpu/command_buffer/client/gpu_control_client.h View 1 chunk +0 lines, -20 lines 0 comments Download
M gpu/command_buffer/service/in_process_command_buffer.h View 6 chunks +7 lines, -17 lines 0 comments Download
M gpu/command_buffer/service/in_process_command_buffer.cc View 13 chunks +26 lines, -45 lines 0 comments Download
M gpu/command_buffer/tests/gl_manager.h View 1 chunk +0 lines, -1 line 0 comments Download
M gpu/command_buffer/tests/gl_manager.cc View 1 chunk +0 lines, -4 lines 0 comments Download
M gpu/gles2_conform_support/egl/display.h View 1 chunk +0 lines, -1 line 0 comments Download
M gpu/gles2_conform_support/egl/display.cc View 1 chunk +0 lines, -4 lines 0 comments Download
M gpu/ipc/client/command_buffer_proxy_impl.h View 4 chunks +3 lines, -4 lines 0 comments Download
M gpu/ipc/client/command_buffer_proxy_impl.cc View 6 chunks +24 lines, -17 lines 0 comments Download
M mojo/gles2/command_buffer_client_impl.h View 3 chunks +8 lines, -3 lines 0 comments Download
M mojo/gles2/command_buffer_client_impl.cc View 4 chunks +7 lines, -12 lines 0 comments Download
M mojo/gles2/gles2_context.h View 2 chunks +4 lines, -3 lines 0 comments Download
M mojo/gles2/gles2_context.cc View 2 chunks +6 lines, -12 lines 0 comments Download
M ppapi/proxy/ppapi_command_buffer_proxy.h View 1 chunk +0 lines, -1 line 0 comments Download
M ppapi/proxy/ppapi_command_buffer_proxy.cc View 1 chunk +0 lines, -5 lines 0 comments Download

Messages

Total messages: 7 (2 generated)
rnephew (Reviews Here)
Created Revert of Make lost context and error message callbacks on GpuControl go to client
4 years, 8 months ago (2016-04-13 16:49:45 UTC) #1
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1885903002/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1885903002/1
4 years, 8 months ago (2016-04-13 16:49:59 UTC) #2
commit-bot: I haz the power
Failed to apply patch for content/common/gpu/client/webgraphicscontext3d_command_buffer_impl.cc: While running git apply --index -3 -p1; error: patch ...
4 years, 8 months ago (2016-04-13 16:50:40 UTC) #4
danakj
This doesn't apply any more, but the fix is very small: https://codereview.chromium.org/1881423004/
4 years, 8 months ago (2016-04-13 18:15:05 UTC) #5
Wez
4 years, 8 months ago (2016-04-14 16:47:51 UTC) #7
Message was sent while issue was closed.
Closed in favour of the small fix.

Powered by Google App Engine
This is Rietveld 408576698