Reland r209673: "gpu: Propagate lost context signal to all contexts"
commit93a7d98f3b15f093a3db3bdf92df1e81ba75069e
authorskyostil@chromium.org <skyostil@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Thu, 11 Jul 2013 00:04:22 +0000 (11 00:04 +0000)
committerskyostil@chromium.org <skyostil@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Thu, 11 Jul 2013 00:04:22 +0000 (11 00:04 +0000)
tree3090f1126a0a21340ad91a0b31cce854a975c722
parent7ad5be6b7c3ba4b5fd1aca44b7c551813fe81cd5
Reland r209673: "gpu: Propagate lost context signal to all contexts"

Reland the patch with a fix for the StartupTest crashes observed on "Mac 10.6
Perf(2)".

BUG=232449

> gpu: Propagate lost context signal to all contexts
>
> When any individual command buffer context encounters a context lost
> event, propagate the context lost status to all other contexts if
> gfx::GLContext::LosesAllContextsOnContextLost() is true. This allows
> all command buffer clients to get notified of GPU resets. This is
> useful with virtual contexts because the reset is generally picked
> up by a random virtual context.
>
> Also, if virtual contexts are being used, all contexts should avoid
> doing GL object cleanup during teardown because the real context has
> already been lost at that point.
>
> BUG=232449
> TEST=https://www.khronos.org/registry/webgl/conformance-suites/1.0.1/extra/lots-of-polys-example.html
>
> Review URL: https://chromiumcodereview.appspot.com/17550012

Review URL: https://chromiumcodereview.appspot.com/18836003

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@210977 0039d316-1c4b-4281-b951-d872f2087c98
content/common/gpu/gpu_channel.cc
content/common/gpu/gpu_channel.h
content/common/gpu/gpu_channel_manager.cc
content/common/gpu/gpu_command_buffer_stub.cc
content/common/gpu/gpu_command_buffer_stub.h
gpu/command_buffer/service/gles2_cmd_decoder.cc
gpu/command_buffer/service/gles2_cmd_decoder.h
gpu/command_buffer/service/gles2_cmd_decoder_mock.h