|
|
Chromium Code Reviews|
Created:
4 years, 8 months ago by danakj Modified:
4 years, 8 months ago CC:
chromium-reviews, jam, sievers+watch_chromium.org, jbauman+watch_chromium.org, darin-cc_chromium.org, kalyank, piman+watch_chromium.org, danakj+watch_chromium.org, chrishtr, dcheng, Ken Russell (switch to Gerrit), piman Base URL:
https://chromium.googlesource.com/chromium/src.git@master Target Ref:
refs/pending/heads/master Project:
chromium Visibility:
Public. |
DescriptionRemove WebGraphicsContext3DCommandBufferImpl::IsCommandBufferContextLost
This methods does the same things as GetGraphicsResetStatusKHR() on
the GLES2Implementation.
The first thing it does is:
if (host_.get() && host_->IsLost())
return true;
Here the |host_| is a GpuChannelHost. GLES2Implementation will call
GpuControl::IsGpuChannelLost(), where the GpuControl is given to
GLES2Implementation from WebGraphicsContext3DCommandBufferImpl as
the command_buffer_, which is a CommandBufferProxyImpl. The
CommandBufferProxyImpl::IsGpuChannelLost() method calls IsLost()
on its |channel_| which is the same pointer as the |host_| above.
The second thing it does is:
gpu::CommandBuffer::State state = command_buffer_->GetLastState();
return gpu::error::IsError(state.error);
Here the |command_buffer_| is the CommandBufferProxyImpl.
GLES2Implementation will call CmdBufferHelper::IsContextLost(). The
CmdBufferHelper is a GLES2CmdHelper created by
WebGraphicsContext3DCommandBufferImpl that points to the
same |command_buffer_|. The CmdBufferHelper::IsContextLost() method
returns "error::IsError(command_buffer()->GetLastError())" which is
similar to the original code. The GetLastError() methed is used
instead of "GetLastState().error". Fortunately that method is
implemented as "return last_state_.error" making it the exact same.
R=piman@chromium.org
BUG=584497
Committed: https://crrev.com/b9e68d8e121d5d4c5b93777919c767aa13da7256
Cr-Commit-Position: refs/heads/master@{#387502}
Patch Set 1 #Patch Set 2 : sharelost: move #Patch Set 3 : sharelost: include #Patch Set 4 : sharelost: woops #Patch Set 5 : sharelost: useinterface #Patch Set 6 : sharelost: blinklife #Patch Set 7 : sharelost: adderrors #Patch Set 8 : sharelost: moreerror #
Messages
Total messages: 39 (20 generated)
The CQ bit was checked by danakj@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1885463003/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1885463003/1
Description was changed from
==========
Remove WebGraphicsContext3DCommandBufferImpl::IsCommandBufferContextLost
This methods does the same things as GetGraphicsResetStatusKHR() on
the GLES2Implementation.
The first thing it does is:
if (host_.get() && host_->IsLost())
return true;
Here the |host_| is a GpuChannelHost. GLES2Implementation will call
GpuControl::IsGpuChannelLost(), where the GpuControl is given to
GLES2Implementation from WebGraphicsContext3DCommandBufferImpl as
the command_buffer_, which is a CommandBufferProxyImpl. The
CommandBufferProxyImpl::IsGpuChannelLost() method calls IsLost()
on its |channel_| which is the same pointer as the |host_| above.
The second thing it does is:
gpu::CommandBuffer::State state = command_buffer_->GetLastState();
return gpu::error::IsError(state.error);
Here the command_buffer_ is the CommandBufferProxyImpl.
GLES2Implementation will call CmdBufferHelper::IsContextLost(). The
CmdBufferHelper is a GLES2CmdHelper created by
WebGraphicsContext3DCommandBufferImpl that points to its
|command_buffer_|. The CmdBufferHelper::IsContextLost() method does:
context_lost_ = error::IsError(command_buffer()->GetLastError());
which is similar to the original code. The GetLastError() methed
is used instead of GetLastState().error. Fortunately that method is
implemented as:
return last_state_.error;
R=piman@chromium.org
BUG=584497
==========
to
==========
Remove WebGraphicsContext3DCommandBufferImpl::IsCommandBufferContextLost
This methods does the same things as GetGraphicsResetStatusKHR() on
the GLES2Implementation.
The first thing it does is:
if (host_.get() && host_->IsLost())
return true;
Here the |host_| is a GpuChannelHost. GLES2Implementation will call
GpuControl::IsGpuChannelLost(), where the GpuControl is given to
GLES2Implementation from WebGraphicsContext3DCommandBufferImpl as
the command_buffer_, which is a CommandBufferProxyImpl. The
CommandBufferProxyImpl::IsGpuChannelLost() method calls IsLost()
on its |channel_| which is the same pointer as the |host_| above.
The second thing it does is:
gpu::CommandBuffer::State state = command_buffer_->GetLastState();
return gpu::error::IsError(state.error);
Here the |command_buffer_| is the CommandBufferProxyImpl.
GLES2Implementation will call CmdBufferHelper::IsContextLost(). The
CmdBufferHelper is a GLES2CmdHelper created by
WebGraphicsContext3DCommandBufferImpl that points to the
same |command_buffer_|. The CmdBufferHelper::IsContextLost() method does:
context_lost_ = error::IsError(command_buffer()->GetLastError());
which is similar to the original code. The GetLastError() methed
is used instead of GetLastState().error. Fortunately that method is
implemented as:
return last_state_.error;
R=piman@chromium.org
BUG=584497
==========
Description was changed from
==========
Remove WebGraphicsContext3DCommandBufferImpl::IsCommandBufferContextLost
This methods does the same things as GetGraphicsResetStatusKHR() on
the GLES2Implementation.
The first thing it does is:
if (host_.get() && host_->IsLost())
return true;
Here the |host_| is a GpuChannelHost. GLES2Implementation will call
GpuControl::IsGpuChannelLost(), where the GpuControl is given to
GLES2Implementation from WebGraphicsContext3DCommandBufferImpl as
the command_buffer_, which is a CommandBufferProxyImpl. The
CommandBufferProxyImpl::IsGpuChannelLost() method calls IsLost()
on its |channel_| which is the same pointer as the |host_| above.
The second thing it does is:
gpu::CommandBuffer::State state = command_buffer_->GetLastState();
return gpu::error::IsError(state.error);
Here the |command_buffer_| is the CommandBufferProxyImpl.
GLES2Implementation will call CmdBufferHelper::IsContextLost(). The
CmdBufferHelper is a GLES2CmdHelper created by
WebGraphicsContext3DCommandBufferImpl that points to the
same |command_buffer_|. The CmdBufferHelper::IsContextLost() method does:
context_lost_ = error::IsError(command_buffer()->GetLastError());
which is similar to the original code. The GetLastError() methed
is used instead of GetLastState().error. Fortunately that method is
implemented as:
return last_state_.error;
R=piman@chromium.org
BUG=584497
==========
to
==========
Remove WebGraphicsContext3DCommandBufferImpl::IsCommandBufferContextLost
This methods does the same things as GetGraphicsResetStatusKHR() on
the GLES2Implementation.
The first thing it does is:
if (host_.get() && host_->IsLost())
return true;
Here the |host_| is a GpuChannelHost. GLES2Implementation will call
GpuControl::IsGpuChannelLost(), where the GpuControl is given to
GLES2Implementation from WebGraphicsContext3DCommandBufferImpl as
the command_buffer_, which is a CommandBufferProxyImpl. The
CommandBufferProxyImpl::IsGpuChannelLost() method calls IsLost()
on its |channel_| which is the same pointer as the |host_| above.
The second thing it does is:
gpu::CommandBuffer::State state = command_buffer_->GetLastState();
return gpu::error::IsError(state.error);
Here the |command_buffer_| is the CommandBufferProxyImpl.
GLES2Implementation will call CmdBufferHelper::IsContextLost(). The
CmdBufferHelper is a GLES2CmdHelper created by
WebGraphicsContext3DCommandBufferImpl that points to the
same |command_buffer_|. The CmdBufferHelper::IsContextLost() method
does:
context_lost_ = error::IsError(command_buffer()->GetLastError());
which is similar to the original code. The GetLastError() methed
is used instead of GetLastState().error. Fortunately that method is
implemented as:
return last_state_.error;
R=piman@chromium.org
BUG=584497
==========
Description was changed from
==========
Remove WebGraphicsContext3DCommandBufferImpl::IsCommandBufferContextLost
This methods does the same things as GetGraphicsResetStatusKHR() on
the GLES2Implementation.
The first thing it does is:
if (host_.get() && host_->IsLost())
return true;
Here the |host_| is a GpuChannelHost. GLES2Implementation will call
GpuControl::IsGpuChannelLost(), where the GpuControl is given to
GLES2Implementation from WebGraphicsContext3DCommandBufferImpl as
the command_buffer_, which is a CommandBufferProxyImpl. The
CommandBufferProxyImpl::IsGpuChannelLost() method calls IsLost()
on its |channel_| which is the same pointer as the |host_| above.
The second thing it does is:
gpu::CommandBuffer::State state = command_buffer_->GetLastState();
return gpu::error::IsError(state.error);
Here the |command_buffer_| is the CommandBufferProxyImpl.
GLES2Implementation will call CmdBufferHelper::IsContextLost(). The
CmdBufferHelper is a GLES2CmdHelper created by
WebGraphicsContext3DCommandBufferImpl that points to the
same |command_buffer_|. The CmdBufferHelper::IsContextLost() method
does:
context_lost_ = error::IsError(command_buffer()->GetLastError());
which is similar to the original code. The GetLastError() methed
is used instead of GetLastState().error. Fortunately that method is
implemented as:
return last_state_.error;
R=piman@chromium.org
BUG=584497
==========
to
==========
Remove WebGraphicsContext3DCommandBufferImpl::IsCommandBufferContextLost
This methods does the same things as GetGraphicsResetStatusKHR() on
the GLES2Implementation.
The first thing it does is:
if (host_.get() && host_->IsLost())
return true;
Here the |host_| is a GpuChannelHost. GLES2Implementation will call
GpuControl::IsGpuChannelLost(), where the GpuControl is given to
GLES2Implementation from WebGraphicsContext3DCommandBufferImpl as
the command_buffer_, which is a CommandBufferProxyImpl. The
CommandBufferProxyImpl::IsGpuChannelLost() method calls IsLost()
on its |channel_| which is the same pointer as the |host_| above.
The second thing it does is:
gpu::CommandBuffer::State state = command_buffer_->GetLastState();
return gpu::error::IsError(state.error);
Here the |command_buffer_| is the CommandBufferProxyImpl.
GLES2Implementation will call CmdBufferHelper::IsContextLost(). The
CmdBufferHelper is a GLES2CmdHelper created by
WebGraphicsContext3DCommandBufferImpl that points to the
same |command_buffer_|. The CmdBufferHelper::IsContextLost() method
returns "error::IsError(command_buffer()->GetLastError())" which is
similar to the original code. The GetLastError() methed is used
instead of "GetLastState().error". Fortunately that method is
implemented as "return last_state_.error" making it the exact same.
R=piman@chromium.org
BUG=584497
==========
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
lgtm++
kbr@chromium.org changed reviewers: + kbr@chromium.org
Thanks for your continued cleanups in this area. LGTM
PTAL I've moved the check for lost context to RendererBlinkPlatformImpl. And I've moved the null gpu_channel_host checks to the callers that can have null as well. Now CreateOffscreenContext() will never return null.
The CQ bit was checked by danakj@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1885463003/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1885463003/20001
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: cast_shell_android on tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/cast_shell_a...) cast_shell_linux on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/cast_shell_linu...)
Description was changed from
==========
Remove WebGraphicsContext3DCommandBufferImpl::IsCommandBufferContextLost
This methods does the same things as GetGraphicsResetStatusKHR() on
the GLES2Implementation.
The first thing it does is:
if (host_.get() && host_->IsLost())
return true;
Here the |host_| is a GpuChannelHost. GLES2Implementation will call
GpuControl::IsGpuChannelLost(), where the GpuControl is given to
GLES2Implementation from WebGraphicsContext3DCommandBufferImpl as
the command_buffer_, which is a CommandBufferProxyImpl. The
CommandBufferProxyImpl::IsGpuChannelLost() method calls IsLost()
on its |channel_| which is the same pointer as the |host_| above.
The second thing it does is:
gpu::CommandBuffer::State state = command_buffer_->GetLastState();
return gpu::error::IsError(state.error);
Here the |command_buffer_| is the CommandBufferProxyImpl.
GLES2Implementation will call CmdBufferHelper::IsContextLost(). The
CmdBufferHelper is a GLES2CmdHelper created by
WebGraphicsContext3DCommandBufferImpl that points to the
same |command_buffer_|. The CmdBufferHelper::IsContextLost() method
returns "error::IsError(command_buffer()->GetLastError())" which is
similar to the original code. The GetLastError() methed is used
instead of "GetLastState().error". Fortunately that method is
implemented as "return last_state_.error" making it the exact same.
R=piman@chromium.org
BUG=584497
==========
to
==========
Remove WebGraphicsContext3DCommandBufferImpl::IsCommandBufferContextLost
This methods does the same things as GetGraphicsResetStatusKHR() on
the GLES2Implementation.
The first thing it does is:
if (host_.get() && host_->IsLost())
return true;
Here the |host_| is a GpuChannelHost. GLES2Implementation will call
GpuControl::IsGpuChannelLost(), where the GpuControl is given to
GLES2Implementation from WebGraphicsContext3DCommandBufferImpl as
the command_buffer_, which is a CommandBufferProxyImpl. The
CommandBufferProxyImpl::IsGpuChannelLost() method calls IsLost()
on its |channel_| which is the same pointer as the |host_| above.
The second thing it does is:
gpu::CommandBuffer::State state = command_buffer_->GetLastState();
return gpu::error::IsError(state.error);
Here the |command_buffer_| is the CommandBufferProxyImpl.
GLES2Implementation will call CmdBufferHelper::IsContextLost(). The
CmdBufferHelper is a GLES2CmdHelper created by
WebGraphicsContext3DCommandBufferImpl that points to the
same |command_buffer_|. The CmdBufferHelper::IsContextLost() method
returns "error::IsError(command_buffer()->GetLastError())" which is
similar to the original code. The GetLastError() methed is used
instead of "GetLastState().error". Fortunately that method is
implemented as "return last_state_.error" making it the exact same.
R=piman@chromium.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
==========
The CQ bit was checked by danakj@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1885463003/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1885463003/40001
The CQ bit was checked by danakj@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1885463003/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1885463003/60001
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: android_chromium_gn_compile_dbg on tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_chro...) android_chromium_gn_compile_rel on tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_chro...) cast_shell_android on tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/cast_shell_a...) linux_chromium_clobber_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...) linux_chromium_compile_dbg_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...) linux_chromium_gn_chromeos_rel on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...) linux_chromium_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...)
On 2016/04/14 20:22:13, danakj wrote: > PTAL > > I've moved the check for lost context to RendererBlinkPlatformImpl. > > And I've moved the null gpu_channel_host checks to the callers that can have > null as well. Now CreateOffscreenContext() will never return null. I added error messages to the new early outs in RendererBlinkPlatformImpl too.
lgtm
The CQ bit was checked by danakj@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from kbr@chromium.org Link to the patchset: https://codereview.chromium.org/1885463003/#ps140001 (title: "sharelost: moreerror")
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1885463003/140001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1885463003/140001
The CQ bit was checked by danakj@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1885463003/140001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1885463003/140001
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: linux_optional_gpu_tests_rel on tryserver.chromium.linux (JOB_TIMED_OUT, no build URL) win_optional_gpu_tests_rel on tryserver.chromium.win (JOB_TIMED_OUT, no build URL)
Description was changed from
==========
Remove WebGraphicsContext3DCommandBufferImpl::IsCommandBufferContextLost
This methods does the same things as GetGraphicsResetStatusKHR() on
the GLES2Implementation.
The first thing it does is:
if (host_.get() && host_->IsLost())
return true;
Here the |host_| is a GpuChannelHost. GLES2Implementation will call
GpuControl::IsGpuChannelLost(), where the GpuControl is given to
GLES2Implementation from WebGraphicsContext3DCommandBufferImpl as
the command_buffer_, which is a CommandBufferProxyImpl. The
CommandBufferProxyImpl::IsGpuChannelLost() method calls IsLost()
on its |channel_| which is the same pointer as the |host_| above.
The second thing it does is:
gpu::CommandBuffer::State state = command_buffer_->GetLastState();
return gpu::error::IsError(state.error);
Here the |command_buffer_| is the CommandBufferProxyImpl.
GLES2Implementation will call CmdBufferHelper::IsContextLost(). The
CmdBufferHelper is a GLES2CmdHelper created by
WebGraphicsContext3DCommandBufferImpl that points to the
same |command_buffer_|. The CmdBufferHelper::IsContextLost() method
returns "error::IsError(command_buffer()->GetLastError())" which is
similar to the original code. The GetLastError() methed is used
instead of "GetLastState().error". Fortunately that method is
implemented as "return last_state_.error" making it the exact same.
R=piman@chromium.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
==========
to
==========
Remove WebGraphicsContext3DCommandBufferImpl::IsCommandBufferContextLost
This methods does the same things as GetGraphicsResetStatusKHR() on
the GLES2Implementation.
The first thing it does is:
if (host_.get() && host_->IsLost())
return true;
Here the |host_| is a GpuChannelHost. GLES2Implementation will call
GpuControl::IsGpuChannelLost(), where the GpuControl is given to
GLES2Implementation from WebGraphicsContext3DCommandBufferImpl as
the command_buffer_, which is a CommandBufferProxyImpl. The
CommandBufferProxyImpl::IsGpuChannelLost() method calls IsLost()
on its |channel_| which is the same pointer as the |host_| above.
The second thing it does is:
gpu::CommandBuffer::State state = command_buffer_->GetLastState();
return gpu::error::IsError(state.error);
Here the |command_buffer_| is the CommandBufferProxyImpl.
GLES2Implementation will call CmdBufferHelper::IsContextLost(). The
CmdBufferHelper is a GLES2CmdHelper created by
WebGraphicsContext3DCommandBufferImpl that points to the
same |command_buffer_|. The CmdBufferHelper::IsContextLost() method
returns "error::IsError(command_buffer()->GetLastError())" which is
similar to the original code. The GetLastError() methed is used
instead of "GetLastState().error". Fortunately that method is
implemented as "return last_state_.error" making it the exact same.
R=piman@chromium.org
BUG=584497
==========
The CQ bit was checked by danakj@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1885463003/140001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1885463003/140001
Message was sent while issue was closed.
Description was changed from
==========
Remove WebGraphicsContext3DCommandBufferImpl::IsCommandBufferContextLost
This methods does the same things as GetGraphicsResetStatusKHR() on
the GLES2Implementation.
The first thing it does is:
if (host_.get() && host_->IsLost())
return true;
Here the |host_| is a GpuChannelHost. GLES2Implementation will call
GpuControl::IsGpuChannelLost(), where the GpuControl is given to
GLES2Implementation from WebGraphicsContext3DCommandBufferImpl as
the command_buffer_, which is a CommandBufferProxyImpl. The
CommandBufferProxyImpl::IsGpuChannelLost() method calls IsLost()
on its |channel_| which is the same pointer as the |host_| above.
The second thing it does is:
gpu::CommandBuffer::State state = command_buffer_->GetLastState();
return gpu::error::IsError(state.error);
Here the |command_buffer_| is the CommandBufferProxyImpl.
GLES2Implementation will call CmdBufferHelper::IsContextLost(). The
CmdBufferHelper is a GLES2CmdHelper created by
WebGraphicsContext3DCommandBufferImpl that points to the
same |command_buffer_|. The CmdBufferHelper::IsContextLost() method
returns "error::IsError(command_buffer()->GetLastError())" which is
similar to the original code. The GetLastError() methed is used
instead of "GetLastState().error". Fortunately that method is
implemented as "return last_state_.error" making it the exact same.
R=piman@chromium.org
BUG=584497
==========
to
==========
Remove WebGraphicsContext3DCommandBufferImpl::IsCommandBufferContextLost
This methods does the same things as GetGraphicsResetStatusKHR() on
the GLES2Implementation.
The first thing it does is:
if (host_.get() && host_->IsLost())
return true;
Here the |host_| is a GpuChannelHost. GLES2Implementation will call
GpuControl::IsGpuChannelLost(), where the GpuControl is given to
GLES2Implementation from WebGraphicsContext3DCommandBufferImpl as
the command_buffer_, which is a CommandBufferProxyImpl. The
CommandBufferProxyImpl::IsGpuChannelLost() method calls IsLost()
on its |channel_| which is the same pointer as the |host_| above.
The second thing it does is:
gpu::CommandBuffer::State state = command_buffer_->GetLastState();
return gpu::error::IsError(state.error);
Here the |command_buffer_| is the CommandBufferProxyImpl.
GLES2Implementation will call CmdBufferHelper::IsContextLost(). The
CmdBufferHelper is a GLES2CmdHelper created by
WebGraphicsContext3DCommandBufferImpl that points to the
same |command_buffer_|. The CmdBufferHelper::IsContextLost() method
returns "error::IsError(command_buffer()->GetLastError())" which is
similar to the original code. The GetLastError() methed is used
instead of "GetLastState().error". Fortunately that method is
implemented as "return last_state_.error" making it the exact same.
R=piman@chromium.org
BUG=584497
==========
Message was sent while issue was closed.
Committed patchset #8 (id:140001)
Message was sent while issue was closed.
Description was changed from
==========
Remove WebGraphicsContext3DCommandBufferImpl::IsCommandBufferContextLost
This methods does the same things as GetGraphicsResetStatusKHR() on
the GLES2Implementation.
The first thing it does is:
if (host_.get() && host_->IsLost())
return true;
Here the |host_| is a GpuChannelHost. GLES2Implementation will call
GpuControl::IsGpuChannelLost(), where the GpuControl is given to
GLES2Implementation from WebGraphicsContext3DCommandBufferImpl as
the command_buffer_, which is a CommandBufferProxyImpl. The
CommandBufferProxyImpl::IsGpuChannelLost() method calls IsLost()
on its |channel_| which is the same pointer as the |host_| above.
The second thing it does is:
gpu::CommandBuffer::State state = command_buffer_->GetLastState();
return gpu::error::IsError(state.error);
Here the |command_buffer_| is the CommandBufferProxyImpl.
GLES2Implementation will call CmdBufferHelper::IsContextLost(). The
CmdBufferHelper is a GLES2CmdHelper created by
WebGraphicsContext3DCommandBufferImpl that points to the
same |command_buffer_|. The CmdBufferHelper::IsContextLost() method
returns "error::IsError(command_buffer()->GetLastError())" which is
similar to the original code. The GetLastError() methed is used
instead of "GetLastState().error". Fortunately that method is
implemented as "return last_state_.error" making it the exact same.
R=piman@chromium.org
BUG=584497
==========
to
==========
Remove WebGraphicsContext3DCommandBufferImpl::IsCommandBufferContextLost
This methods does the same things as GetGraphicsResetStatusKHR() on
the GLES2Implementation.
The first thing it does is:
if (host_.get() && host_->IsLost())
return true;
Here the |host_| is a GpuChannelHost. GLES2Implementation will call
GpuControl::IsGpuChannelLost(), where the GpuControl is given to
GLES2Implementation from WebGraphicsContext3DCommandBufferImpl as
the command_buffer_, which is a CommandBufferProxyImpl. The
CommandBufferProxyImpl::IsGpuChannelLost() method calls IsLost()
on its |channel_| which is the same pointer as the |host_| above.
The second thing it does is:
gpu::CommandBuffer::State state = command_buffer_->GetLastState();
return gpu::error::IsError(state.error);
Here the |command_buffer_| is the CommandBufferProxyImpl.
GLES2Implementation will call CmdBufferHelper::IsContextLost(). The
CmdBufferHelper is a GLES2CmdHelper created by
WebGraphicsContext3DCommandBufferImpl that points to the
same |command_buffer_|. The CmdBufferHelper::IsContextLost() method
returns "error::IsError(command_buffer()->GetLastError())" which is
similar to the original code. The GetLastError() methed is used
instead of "GetLastState().error". Fortunately that method is
implemented as "return last_state_.error" making it the exact same.
R=piman@chromium.org
BUG=584497
Committed: https://crrev.com/b9e68d8e121d5d4c5b93777919c767aa13da7256
Cr-Commit-Position: refs/heads/master@{#387502}
==========
Message was sent while issue was closed.
Patchset 8 (id:??) landed as https://crrev.com/b9e68d8e121d5d4c5b93777919c767aa13da7256 Cr-Commit-Position: refs/heads/master@{#387502} |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
