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

Issue 1919203003: Revert of Report lost context from GLES2Implementation based on share group state. (Closed)

Created:
4 years, 8 months ago by Matt Giuca
Modified:
4 years, 8 months ago
CC:
chromium-reviews, rjkroege, qsr+mojo_chromium.org, viettrungluu+watch_chromium.org, yzshen+watch_chromium.org, abarth-chromium, Aaron Boodman, piman+watch_chromium.org, darin (slow to review), ben+mojo_chromium.org, dcheng, Ken Russell (switch to Gerrit)
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Revert of Report lost context from GLES2Implementation based on share group state. (patchset #3 id:40001 of https://codereview.chromium.org/1916303003/ ) Reason for revert: Seems to be crashing tests. See two attached bugs: 1. BrowserGpuChannelHostFactoryTest crashes in GPU-related code. DCHECK(IsContextLost(context_provider->ContextGL())) is failing in the second stack trace, which leads me to this CL. https://crbug.com/607048. 2. virtual/gpu/fast/canvas/canvas-lost-gpu-context.html LayoutTest is failing with "Graphics context loss did not destroy canvas contents." The mention of context loss also leads me to this CL. https://crbug.com/607049. Speculatively reverting. BUG=607048, 607049 Original issue's description: > Report lost context from GLES2Implementation based on share group state. > > When any context in a gles2::ShareGroup becomes lost, all contexts in > the same group should report that they are lost immediately. This avoids > races such as the following: > > IPC thread hears of the loss of Context 1 and 2. > IPC thread posts to thread B for Context 1. > Context 1 hears it is lost on thread B. Posts to thread A to recreate. > IPC thread posts to thread A for Context 2. > Context 1 is recreated on thread A. Puts itself in same share group as 2. > Context 2 hears it is lost on thread A, makes a new share group. > > This can lead to racey cases where share groups get split apart. > > Resolve this by storing a |lost_| state on gles2::ShareGroup. When > GLES2Implementation hears of OnGpuControlLostContext, it will set the > lost state on the ShareGroup. Now glGetGraphicsResetStatusKHR() will > return an error if the gles2::ShareGroup has been lost. > > We remove the GpuControl::IsChannelLost() method as this is now unused. > The CmdBufferHelper::IsContextLost() is still needed for the > QueryTracker, so insert a comment and a TODO explaining why and how > it could be removed. > > R=piman, sievers > 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/b1f17d6f3f988d7b190cab1147b1e20da0647a44 > Cr-Commit-Position: refs/heads/master@{#389947} TBR=piman@chromium.org,sievers@chromium.org,fsamuel@google.com,sky@chromium.org,fsamuel@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 Committed: https://crrev.com/2cc4cad984106eeb0309f2af08a35cad6c53a59f Cr-Commit-Position: refs/heads/master@{#389980}

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+184 lines, -107 lines) Patch
M cc/output/gl_renderer_unittest.cc View 2 chunks +84 lines, -0 lines 0 comments Download
M components/mus/gles2/command_buffer_local.h View 1 chunk +1 line, -0 lines 0 comments Download
M components/mus/gles2/command_buffer_local.cc View 1 chunk +6 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/client_test_helper.h View 1 chunk +1 line, -0 lines 0 comments Download
M gpu/command_buffer/client/gles2_implementation.h View 1 chunk +3 lines, -1 line 0 comments Download
M gpu/command_buffer/client/gles2_implementation.cc View 4 chunks +18 lines, -7 lines 0 comments Download
M gpu/command_buffer/client/gles2_implementation_unittest.cc View 1 chunk +1 line, -1 line 0 comments Download
M gpu/command_buffer/client/gpu_control.h View 1 chunk +4 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/query_tracker.cc View 1 chunk +3 lines, -11 lines 0 comments Download
M gpu/command_buffer/client/share_group.h View 3 chunks +1 line, -12 lines 0 comments Download
M gpu/command_buffer/client/share_group.cc View 1 chunk +1 line, -11 lines 0 comments Download
M gpu/command_buffer/service/in_process_command_buffer.h View 1 chunk +1 line, -0 lines 0 comments Download
M gpu/command_buffer/service/in_process_command_buffer.cc View 1 chunk +6 lines, -0 lines 0 comments Download
M gpu/command_buffer/tests/gl_manager.h View 1 chunk +1 line, -0 lines 0 comments Download
M gpu/command_buffer/tests/gl_manager.cc View 1 chunk +5 lines, -0 lines 0 comments Download
M gpu/gles2_conform_support/egl/display.h View 1 chunk +1 line, -0 lines 0 comments Download
M gpu/gles2_conform_support/egl/display.cc View 1 chunk +5 lines, -0 lines 0 comments Download
M gpu/ipc/client/command_buffer_proxy_impl.h View 2 chunks +1 line, -15 lines 0 comments Download
M gpu/ipc/client/command_buffer_proxy_impl.cc View 4 chunks +29 lines, -49 lines 0 comments Download
M mojo/gles2/command_buffer_client_impl.h View 1 chunk +1 line, -0 lines 0 comments Download
M mojo/gles2/command_buffer_client_impl.cc View 1 chunk +5 lines, -0 lines 0 comments Download
M ppapi/proxy/ppapi_command_buffer_proxy.h View 1 chunk +1 line, -0 lines 0 comments Download
M ppapi/proxy/ppapi_command_buffer_proxy.cc View 1 chunk +5 lines, -0 lines 0 comments Download

Messages

Total messages: 8 (4 generated)
Matt Giuca
Created Revert of Report lost context from GLES2Implementation based on share group state.
4 years, 8 months ago (2016-04-27 03:32:11 UTC) #1
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1919203003/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1919203003/1
4 years, 8 months ago (2016-04-27 03:32:18 UTC) #2
commit-bot: I haz the power
Committed patchset #1 (id:1)
4 years, 8 months ago (2016-04-27 03:33:08 UTC) #5
commit-bot: I haz the power
4 years, 8 months ago (2016-04-27 03:34:26 UTC) #8
Message was sent while issue was closed.
Patchset 1 (id:??) landed as
https://crrev.com/2cc4cad984106eeb0309f2af08a35cad6c53a59f
Cr-Commit-Position: refs/heads/master@{#389980}

Powered by Google App Engine
This is Rietveld 408576698