| Index: components/mus/public/cpp/lib/command_buffer_client_impl.cc
|
| diff --git a/components/mus/public/cpp/lib/command_buffer_client_impl.cc b/components/mus/public/cpp/lib/command_buffer_client_impl.cc
|
| index 062c3f784779dbc80df7b3b59ca2c511960ab66f..f8959cbe0eda9b4b2ea955e64490fb228a8de6f4 100644
|
| --- a/components/mus/public/cpp/lib/command_buffer_client_impl.cc
|
| +++ b/components/mus/public/cpp/lib/command_buffer_client_impl.cc
|
| @@ -12,7 +12,6 @@
|
|
|
| #include "base/logging.h"
|
| #include "base/process/process_handle.h"
|
| -#include "base/threading/thread_restrictions.h"
|
| #include "components/mus/common/gpu_type_converters.h"
|
| #include "components/mus/common/mojo_buffer_backing.h"
|
| #include "components/mus/common/mojo_gpu_memory_buffer.h"
|
| @@ -40,16 +39,6 @@ bool CreateAndMapSharedBuffer(size_t size,
|
| return true;
|
| }
|
|
|
| -void MakeProgressCallback(gpu::CommandBuffer::State* output,
|
| - const gpu::CommandBuffer::State& input) {
|
| - *output = input;
|
| -}
|
| -
|
| -void InitializeCallback(mus::mojom::CommandBufferInitializeResultPtr* output,
|
| - mus::mojom::CommandBufferInitializeResultPtr input) {
|
| - *output = std::move(input);
|
| -}
|
| -
|
| } // namespace
|
|
|
| CommandBufferClientImpl::CommandBufferClientImpl(
|
| @@ -87,13 +76,11 @@ bool CommandBufferClientImpl::Initialize() {
|
| client_binding_.Bind(GetProxy(&client_ptr));
|
|
|
| mus::mojom::CommandBufferInitializeResultPtr initialize_result;
|
| - command_buffer_->Initialize(
|
| + bool handled = command_buffer_->Initialize(
|
| std::move(client_ptr), std::move(handle),
|
| - mojo::Array<int32_t>::From(attribs_),
|
| - base::Bind(&InitializeCallback, &initialize_result));
|
| + mojo::Array<int32_t>::From(attribs_), &initialize_result);
|
|
|
| - base::ThreadRestrictions::ScopedAllowWait wait;
|
| - if (!command_buffer_.WaitForIncomingResponse()) {
|
| + if (!handled) {
|
| VLOG(1) << "Channel encountered error while creating command buffer.";
|
| return false;
|
| }
|
| @@ -297,11 +284,9 @@ void CommandBufferClientImpl::TryUpdateState() {
|
|
|
| void CommandBufferClientImpl::MakeProgressAndUpdateState() {
|
| gpu::CommandBuffer::State state;
|
| - command_buffer_->MakeProgress(last_state_.get_offset,
|
| - base::Bind(&MakeProgressCallback, &state));
|
| + bool handled = command_buffer_->MakeProgress(last_state_.get_offset, &state);
|
|
|
| - base::ThreadRestrictions::ScopedAllowWait wait;
|
| - if (!command_buffer_.WaitForIncomingResponse()) {
|
| + if (!handled) {
|
| VLOG(1) << "Channel encountered error while waiting for command buffer.";
|
| // TODO(piman): is it ok for this to re-enter?
|
| Destroyed(gpu::error::kUnknown, gpu::error::kLostContext);
|
|
|