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

Unified Diff: mojo/gles2/command_buffer_client_impl.cc

Issue 687433002: Remove mojo/shell and (most) service implementations (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: remove mojo/gles2, disable mojo apps in component build Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « mojo/gles2/command_buffer_client_impl.h ('k') | mojo/gles2/gles2_context.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: mojo/gles2/command_buffer_client_impl.cc
diff --git a/mojo/gles2/command_buffer_client_impl.cc b/mojo/gles2/command_buffer_client_impl.cc
deleted file mode 100644
index 8ad03d9e62c982b037df08926ca715ba9be4917e..0000000000000000000000000000000000000000
--- a/mojo/gles2/command_buffer_client_impl.cc
+++ /dev/null
@@ -1,294 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "mojo/gles2/command_buffer_client_impl.h"
-
-#include <limits>
-
-#include "base/logging.h"
-#include "base/process/process_handle.h"
-#include "mojo/services/gles2/command_buffer_type_conversions.h"
-#include "mojo/services/gles2/mojo_buffer_backing.h"
-
-namespace mojo {
-namespace gles2 {
-
-namespace {
-
-bool CreateMapAndDupSharedBuffer(size_t size,
- void** memory,
- mojo::ScopedSharedBufferHandle* handle,
- mojo::ScopedSharedBufferHandle* duped) {
- MojoResult result = mojo::CreateSharedBuffer(NULL, size, handle);
- if (result != MOJO_RESULT_OK)
- return false;
- DCHECK(handle->is_valid());
-
- result = mojo::DuplicateBuffer(handle->get(), NULL, duped);
- if (result != MOJO_RESULT_OK)
- return false;
- DCHECK(duped->is_valid());
-
- result = mojo::MapBuffer(
- handle->get(), 0, size, memory, MOJO_MAP_BUFFER_FLAG_NONE);
- if (result != MOJO_RESULT_OK)
- return false;
- DCHECK(*memory);
-
- return true;
-}
-
-} // namespace
-
-CommandBufferDelegate::~CommandBufferDelegate() {}
-
-void CommandBufferDelegate::ContextLost() {}
-
-class CommandBufferClientImpl::SyncClientImpl
- : public InterfaceImpl<CommandBufferSyncClient> {
- public:
- SyncClientImpl() : initialized_successfully_(false) {}
-
- bool WaitForInitialization() {
- if (!WaitForIncomingMethodCall())
- return false;
- return initialized_successfully_;
- }
-
- CommandBufferStatePtr WaitForProgress() {
- if (!WaitForIncomingMethodCall())
- return CommandBufferStatePtr();
- return command_buffer_state_.Pass();
- }
-
- private:
- // CommandBufferSyncClient methods:
- void DidInitialize(bool success) override {
- initialized_successfully_ = success;
- }
- void DidMakeProgress(CommandBufferStatePtr state) override {
- command_buffer_state_ = state.Pass();
- }
-
- bool initialized_successfully_;
- CommandBufferStatePtr command_buffer_state_;
-};
-
-CommandBufferClientImpl::CommandBufferClientImpl(
- CommandBufferDelegate* delegate,
- const MojoAsyncWaiter* async_waiter,
- ScopedMessagePipeHandle command_buffer_handle)
- : delegate_(delegate),
- shared_state_(NULL),
- last_put_offset_(-1),
- next_transfer_buffer_id_(0),
- async_waiter_(async_waiter) {
- command_buffer_.Bind(command_buffer_handle.Pass(), async_waiter);
- command_buffer_.set_error_handler(this);
- command_buffer_.set_client(this);
-}
-
-CommandBufferClientImpl::~CommandBufferClientImpl() {}
-
-bool CommandBufferClientImpl::Initialize() {
- const size_t kSharedStateSize = sizeof(gpu::CommandBufferSharedState);
- void* memory = NULL;
- mojo::ScopedSharedBufferHandle duped;
- bool result = CreateMapAndDupSharedBuffer(
- kSharedStateSize, &memory, &shared_state_handle_, &duped);
- if (!result)
- return false;
-
- shared_state_ = static_cast<gpu::CommandBufferSharedState*>(memory);
-
- shared_state()->Initialize();
-
- CommandBufferSyncClientPtr sync_client;
- sync_client_impl_.reset(
- WeakBindToProxy(new SyncClientImpl(), &sync_client, async_waiter_));
-
- command_buffer_->Initialize(sync_client.Pass(), duped.Pass());
-
- // Wait for DidInitialize to come on the sync client pipe.
- if (!sync_client_impl_->WaitForInitialization()) {
- VLOG(1) << "Channel encountered error while creating command buffer";
- return false;
- }
- return true;
-}
-
-gpu::CommandBuffer::State CommandBufferClientImpl::GetLastState() {
- return last_state_;
-}
-
-int32 CommandBufferClientImpl::GetLastToken() {
- TryUpdateState();
- return last_state_.token;
-}
-
-void CommandBufferClientImpl::Flush(int32 put_offset) {
- if (last_put_offset_ == put_offset)
- return;
-
- last_put_offset_ = put_offset;
- command_buffer_->Flush(put_offset);
-}
-
-void CommandBufferClientImpl::WaitForTokenInRange(int32 start, int32 end) {
- TryUpdateState();
- while (!InRange(start, end, last_state_.token) &&
- last_state_.error == gpu::error::kNoError) {
- MakeProgressAndUpdateState();
- TryUpdateState();
- }
-}
-
-void CommandBufferClientImpl::WaitForGetOffsetInRange(int32 start, int32 end) {
- TryUpdateState();
- while (!InRange(start, end, last_state_.get_offset) &&
- last_state_.error == gpu::error::kNoError) {
- MakeProgressAndUpdateState();
- TryUpdateState();
- }
-}
-
-void CommandBufferClientImpl::SetGetBuffer(int32 shm_id) {
- command_buffer_->SetGetBuffer(shm_id);
- last_put_offset_ = -1;
-}
-
-scoped_refptr<gpu::Buffer> CommandBufferClientImpl::CreateTransferBuffer(
- size_t size,
- int32* id) {
- if (size >= std::numeric_limits<uint32_t>::max())
- return NULL;
-
- void* memory = NULL;
- mojo::ScopedSharedBufferHandle handle;
- mojo::ScopedSharedBufferHandle duped;
- if (!CreateMapAndDupSharedBuffer(size, &memory, &handle, &duped))
- return NULL;
-
- *id = ++next_transfer_buffer_id_;
-
- command_buffer_->RegisterTransferBuffer(
- *id, duped.Pass(), static_cast<uint32_t>(size));
-
- scoped_ptr<gpu::BufferBacking> backing(
- new MojoBufferBacking(handle.Pass(), memory, size));
- scoped_refptr<gpu::Buffer> buffer(new gpu::Buffer(backing.Pass()));
- return buffer;
-}
-
-void CommandBufferClientImpl::DestroyTransferBuffer(int32 id) {
- command_buffer_->DestroyTransferBuffer(id);
-}
-
-gpu::Capabilities CommandBufferClientImpl::GetCapabilities() {
- // TODO(piman)
- NOTIMPLEMENTED();
- return gpu::Capabilities();
-}
-
-int32_t CommandBufferClientImpl::CreateImage(ClientBuffer buffer,
- size_t width,
- size_t height,
- unsigned internalformat) {
- // TODO(piman)
- NOTIMPLEMENTED();
- return -1;
-}
-
-void CommandBufferClientImpl::DestroyImage(int32 id) {
- // TODO(piman)
- NOTIMPLEMENTED();
-}
-
-int32_t CommandBufferClientImpl::CreateGpuMemoryBufferImage(
- size_t width,
- size_t height,
- unsigned internalformat,
- unsigned usage) {
- // TODO(piman)
- NOTIMPLEMENTED();
- return -1;
-}
-
-uint32 CommandBufferClientImpl::InsertSyncPoint() {
- // TODO(jamesr): Optimize this.
- WaitForGetOffsetInRange(last_put_offset_, last_put_offset_);
- return 0;
-}
-
-uint32 CommandBufferClientImpl::InsertFutureSyncPoint() {
- // TODO(jamesr): Optimize this.
- WaitForGetOffsetInRange(last_put_offset_, last_put_offset_);
- return 0;
-}
-
-void CommandBufferClientImpl::RetireSyncPoint(uint32 sync_point) {
- // TODO(piman)
- NOTIMPLEMENTED();
-}
-
-void CommandBufferClientImpl::SignalSyncPoint(uint32 sync_point,
- const base::Closure& callback) {
- // TODO(piman)
- NOTIMPLEMENTED();
-}
-
-void CommandBufferClientImpl::SignalQuery(uint32 query,
- const base::Closure& callback) {
- // TODO(piman)
- NOTIMPLEMENTED();
-}
-
-void CommandBufferClientImpl::SetSurfaceVisible(bool visible) {
- // TODO(piman)
- NOTIMPLEMENTED();
-}
-
-uint32 CommandBufferClientImpl::CreateStreamTexture(uint32 texture_id) {
- // TODO(piman)
- NOTIMPLEMENTED();
- return 0;
-}
-
-void CommandBufferClientImpl::DidDestroy() {
- LostContext(gpu::error::kUnknown);
-}
-
-void CommandBufferClientImpl::LostContext(int32_t lost_reason) {
- last_state_.error = gpu::error::kLostContext;
- last_state_.context_lost_reason =
- static_cast<gpu::error::ContextLostReason>(lost_reason);
- delegate_->ContextLost();
-}
-
-void CommandBufferClientImpl::OnConnectionError() {
- LostContext(gpu::error::kUnknown);
-}
-
-void CommandBufferClientImpl::TryUpdateState() {
- if (last_state_.error == gpu::error::kNoError)
- shared_state()->Read(&last_state_);
-}
-
-void CommandBufferClientImpl::MakeProgressAndUpdateState() {
- command_buffer_->MakeProgress(last_state_.get_offset);
-
- CommandBufferStatePtr state = sync_client_impl_->WaitForProgress();
- if (!state) {
- VLOG(1) << "Channel encountered error while waiting for command buffer";
- // TODO(piman): is it ok for this to re-enter?
- DidDestroy();
- return;
- }
-
- if (state->generation - last_state_.generation < 0x80000000U)
- last_state_ = state.To<State>();
-}
-
-} // namespace gles2
-} // namespace mojo
« no previous file with comments | « mojo/gles2/command_buffer_client_impl.h ('k') | mojo/gles2/gles2_context.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698