diff options
author | kbr@chromium.org <kbr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-07-14 23:42:39 +0000 |
---|---|---|
committer | kbr@chromium.org <kbr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-07-14 23:42:39 +0000 |
commit | a2c351d808b62f74a152fd42e4c1f74d3c129bde (patch) | |
tree | ef6936d69386d2edbaec8f0f81e940f2ed37b8b4 /content/renderer/render_thread_impl.cc | |
parent | abf9d8a185680c402e9fda2fd42a1d62f7893508 (diff) | |
download | chromium_src-a2c351d808b62f74a152fd42e4c1f74d3c129bde.zip chromium_src-a2c351d808b62f74a152fd42e4c1f74d3c129bde.tar.gz chromium_src-a2c351d808b62f74a152fd42e4c1f74d3c129bde.tar.bz2 |
Added more detailed result codes for CreateViewCommandBuffer.
Creation of a view command buffer can legitimately fail if the surface
has unexpectedly been deleted, for example if the window has been
rapidly opened and closed. This should not cause loss of the entire
GpuChannel for the associated renderer process.
Added new automated test for this issue. Also tested manually with
test case from bug report, and increased number_of_gpu_process_kills
in context_lost test to 30 and verified that previous fix for Issue
365904 continues to work.
BUG=381024
R=piman@chromium.org,danakj@chromium.org,jamesr@chromium.org
Review URL: https://codereview.chromium.org/383303004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@283085 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/renderer/render_thread_impl.cc')
-rw-r--r-- | content/renderer/render_thread_impl.cc | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc index 6c4e7af..2666e22 100644 --- a/content/renderer/render_thread_impl.cc +++ b/content/renderer/render_thread_impl.cc @@ -1215,7 +1215,7 @@ scoped_ptr<base::SharedMemory> RenderThreadImpl::AllocateSharedMemory( HostAllocateSharedMemoryBuffer(size)); } -bool RenderThreadImpl::CreateViewCommandBuffer( +CreateCommandBufferResult RenderThreadImpl::CreateViewCommandBuffer( int32 surface_id, const GPUCreateCommandBufferConfig& init_params, int32 route_id) { @@ -1224,17 +1224,17 @@ bool RenderThreadImpl::CreateViewCommandBuffer( "surface_id", surface_id); - bool succeeded = false; + CreateCommandBufferResult result; IPC::Message* message = new GpuHostMsg_CreateViewCommandBuffer( surface_id, init_params, route_id, - &succeeded); + &result); // Allow calling this from the compositor thread. thread_safe_sender()->Send(message); - return succeeded; + return result; } void RenderThreadImpl::CreateImage( |