| Index: content/common/gpu/client/command_buffer_proxy_impl.h
|
| diff --git a/content/common/gpu/client/command_buffer_proxy_impl.h b/content/common/gpu/client/command_buffer_proxy_impl.h
|
| deleted file mode 100644
|
| index b1d2dac073fb9fa16c9a1d1edf7e48dfddf4aa5f..0000000000000000000000000000000000000000
|
| --- a/content/common/gpu/client/command_buffer_proxy_impl.h
|
| +++ /dev/null
|
| @@ -1,254 +0,0 @@
|
| -// Copyright (c) 2012 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.
|
| -
|
| -#ifndef CONTENT_COMMON_GPU_CLIENT_COMMAND_BUFFER_PROXY_IMPL_H_
|
| -#define CONTENT_COMMON_GPU_CLIENT_COMMAND_BUFFER_PROXY_IMPL_H_
|
| -
|
| -#include <stddef.h>
|
| -#include <stdint.h>
|
| -
|
| -#include <map>
|
| -#include <queue>
|
| -#include <string>
|
| -
|
| -#include "base/callback.h"
|
| -#include "base/compiler_specific.h"
|
| -#include "base/containers/hash_tables.h"
|
| -#include "base/containers/scoped_ptr_hash_map.h"
|
| -#include "base/macros.h"
|
| -#include "base/memory/ref_counted.h"
|
| -#include "base/memory/weak_ptr.h"
|
| -#include "base/observer_list.h"
|
| -#include "gpu/command_buffer/client/gpu_control.h"
|
| -#include "gpu/command_buffer/common/command_buffer.h"
|
| -#include "gpu/command_buffer/common/command_buffer_id.h"
|
| -#include "gpu/command_buffer/common/command_buffer_shared.h"
|
| -#include "gpu/command_buffer/common/gpu_memory_allocation.h"
|
| -#include "ipc/ipc_listener.h"
|
| -#include "ui/events/latency_info.h"
|
| -#include "ui/gfx/swap_result.h"
|
| -
|
| -struct GPUCommandBufferConsoleMessage;
|
| -
|
| -namespace base {
|
| -class SharedMemory;
|
| -}
|
| -
|
| -namespace gpu {
|
| -struct Mailbox;
|
| -struct SyncToken;
|
| -}
|
| -
|
| -namespace content {
|
| -class GpuChannelHost;
|
| -
|
| -// Client side proxy that forwards messages synchronously to a
|
| -// CommandBufferStub.
|
| -class CommandBufferProxyImpl
|
| - : public gpu::CommandBuffer,
|
| - public gpu::GpuControl,
|
| - public IPC::Listener,
|
| - public base::SupportsWeakPtr<CommandBufferProxyImpl> {
|
| - public:
|
| - class DeletionObserver {
|
| - public:
|
| - // Called during the destruction of the CommandBufferProxyImpl.
|
| - virtual void OnWillDeleteImpl() = 0;
|
| -
|
| - protected:
|
| - virtual ~DeletionObserver() {}
|
| - };
|
| -
|
| - typedef base::Callback<void(
|
| - const std::string& msg, int id)> GpuConsoleMessageCallback;
|
| -
|
| - CommandBufferProxyImpl(GpuChannelHost* channel,
|
| - int32_t route_id,
|
| - int32_t stream_id);
|
| - ~CommandBufferProxyImpl() override;
|
| -
|
| - // IPC::Listener implementation:
|
| - bool OnMessageReceived(const IPC::Message& message) override;
|
| - void OnChannelError() override;
|
| -
|
| - // CommandBuffer implementation:
|
| - bool Initialize() override;
|
| - State GetLastState() override;
|
| - int32_t GetLastToken() override;
|
| - void Flush(int32_t put_offset) override;
|
| - void OrderingBarrier(int32_t put_offset) override;
|
| - void WaitForTokenInRange(int32_t start, int32_t end) override;
|
| - void WaitForGetOffsetInRange(int32_t start, int32_t end) override;
|
| - void SetGetBuffer(int32_t shm_id) override;
|
| - scoped_refptr<gpu::Buffer> CreateTransferBuffer(size_t size,
|
| - int32_t* id) override;
|
| - void DestroyTransferBuffer(int32_t id) override;
|
| -
|
| - // gpu::GpuControl implementation:
|
| - gpu::Capabilities GetCapabilities() override;
|
| - int32_t CreateImage(ClientBuffer buffer,
|
| - size_t width,
|
| - size_t height,
|
| - unsigned internal_format) override;
|
| - void DestroyImage(int32_t id) override;
|
| - int32_t CreateGpuMemoryBufferImage(size_t width,
|
| - size_t height,
|
| - unsigned internal_format,
|
| - unsigned usage) override;
|
| - void SignalQuery(uint32_t query, const base::Closure& callback) override;
|
| - void SetLock(base::Lock* lock) override;
|
| - bool IsGpuChannelLost() override;
|
| - void EnsureWorkVisible() override;
|
| - gpu::CommandBufferNamespace GetNamespaceID() const override;
|
| - gpu::CommandBufferId GetCommandBufferID() const override;
|
| - int32_t GetExtraCommandBufferData() const override;
|
| - uint64_t GenerateFenceSyncRelease() override;
|
| - bool IsFenceSyncRelease(uint64_t release) override;
|
| - bool IsFenceSyncFlushed(uint64_t release) override;
|
| - bool IsFenceSyncFlushReceived(uint64_t release) override;
|
| - void SignalSyncToken(const gpu::SyncToken& sync_token,
|
| - const base::Closure& callback) override;
|
| - bool CanWaitUnverifiedSyncToken(const gpu::SyncToken* sync_token) override;
|
| -
|
| - bool ProduceFrontBuffer(const gpu::Mailbox& mailbox);
|
| - void SetContextLostCallback(const base::Closure& callback);
|
| -
|
| - void AddDeletionObserver(DeletionObserver* observer);
|
| - void RemoveDeletionObserver(DeletionObserver* observer);
|
| -
|
| - bool EnsureBackbuffer();
|
| -
|
| - void SetOnConsoleMessageCallback(
|
| - const GpuConsoleMessageCallback& callback);
|
| -
|
| - void SetLatencyInfo(const std::vector<ui::LatencyInfo>& latency_info);
|
| - using SwapBuffersCompletionCallback =
|
| - base::Callback<void(const std::vector<ui::LatencyInfo>& latency_info,
|
| - gfx::SwapResult result)>;
|
| - void SetSwapBuffersCompletionCallback(
|
| - const SwapBuffersCompletionCallback& callback);
|
| -
|
| - using UpdateVSyncParametersCallback =
|
| - base::Callback<void(base::TimeTicks timebase, base::TimeDelta interval)>;
|
| - void SetUpdateVSyncParametersCallback(
|
| - const UpdateVSyncParametersCallback& callback);
|
| -
|
| - // TODO(apatrick): this is a temporary optimization while skia is calling
|
| - // ContentGLContext::MakeCurrent prior to every GL call. It saves returning 6
|
| - // ints redundantly when only the error is needed for the
|
| - // CommandBufferProxyImpl implementation.
|
| - gpu::error::Error GetLastError() override;
|
| -
|
| - int32_t route_id() const { return route_id_; }
|
| -
|
| - int32_t stream_id() const { return stream_id_; }
|
| -
|
| - GpuChannelHost* channel() const { return channel_; }
|
| -
|
| - base::SharedMemoryHandle GetSharedStateHandle() const {
|
| - return shared_state_shm_->handle();
|
| - }
|
| - uint32_t CreateStreamTexture(uint32_t texture_id);
|
| -
|
| - private:
|
| - typedef std::map<int32_t, scoped_refptr<gpu::Buffer>> TransferBufferMap;
|
| - typedef base::hash_map<uint32_t, base::Closure> SignalTaskMap;
|
| -
|
| - void CheckLock() {
|
| - if (lock_)
|
| - lock_->AssertAcquired();
|
| - }
|
| -
|
| - // Send an IPC message over the GPU channel. This is private to fully
|
| - // encapsulate the channel; all callers of this function must explicitly
|
| - // verify that the context has not been lost.
|
| - bool Send(IPC::Message* msg);
|
| -
|
| - // Message handlers:
|
| - void OnUpdateState(const gpu::CommandBuffer::State& state);
|
| - void OnDestroyed(gpu::error::ContextLostReason reason,
|
| - gpu::error::Error error);
|
| - void OnConsoleMessage(const GPUCommandBufferConsoleMessage& message);
|
| - void OnSignalAck(uint32_t id);
|
| - void OnSwapBuffersCompleted(const std::vector<ui::LatencyInfo>& latency_info,
|
| - gfx::SwapResult result);
|
| - void OnUpdateVSyncParameters(base::TimeTicks timebase,
|
| - base::TimeDelta interval);
|
| -
|
| - // Try to read an updated copy of the state from shared memory.
|
| - void TryUpdateState();
|
| -
|
| - // Updates the highest verified release fence sync.
|
| - void UpdateVerifiedReleases(uint32_t verified_flush);
|
| -
|
| - // Loses the context after we received an invalid message from the GPU
|
| - // process. Will call the lost context callback reentrantly if any.
|
| - void InvalidGpuMessage();
|
| -
|
| - // Loses the context after we received an invalid reply from the GPU
|
| - // process. Will post a task to call the lost context callback if any.
|
| - void InvalidGpuReply();
|
| -
|
| - void InvalidGpuReplyOnClientThread();
|
| -
|
| - // The shared memory area used to update state.
|
| - gpu::CommandBufferSharedState* shared_state() const;
|
| -
|
| - base::Lock* lock_;
|
| -
|
| - // Unowned list of DeletionObservers.
|
| - base::ObserverList<DeletionObserver> deletion_observers_;
|
| -
|
| - // The last cached state received from the service.
|
| - State last_state_;
|
| -
|
| - // The shared memory area used to update state.
|
| - scoped_ptr<base::SharedMemory> shared_state_shm_;
|
| -
|
| - // |*this| is owned by |*channel_| and so is always outlived by it, so using a
|
| - // raw pointer is ok.
|
| - GpuChannelHost* channel_;
|
| - const gpu::CommandBufferId command_buffer_id_;
|
| - const int32_t route_id_;
|
| - const int32_t stream_id_;
|
| - uint32_t flush_count_;
|
| - int32_t last_put_offset_;
|
| - int32_t last_barrier_put_offset_;
|
| -
|
| - // Next generated fence sync.
|
| - uint64_t next_fence_sync_release_;
|
| -
|
| - // Unverified flushed fence syncs with their corresponding flush id.
|
| - std::queue<std::pair<uint64_t, uint32_t>> flushed_release_flush_id_;
|
| -
|
| - // Last flushed fence sync release, same as last item in queue if not empty.
|
| - uint64_t flushed_fence_sync_release_;
|
| -
|
| - // Last verified fence sync.
|
| - uint64_t verified_fence_sync_release_;
|
| -
|
| - base::Closure context_lost_callback_;
|
| -
|
| - GpuConsoleMessageCallback console_message_callback_;
|
| -
|
| - // Tasks to be invoked in SignalSyncPoint responses.
|
| - uint32_t next_signal_id_;
|
| - SignalTaskMap signal_tasks_;
|
| -
|
| - gpu::Capabilities capabilities_;
|
| -
|
| - std::vector<ui::LatencyInfo> latency_info_;
|
| -
|
| - SwapBuffersCompletionCallback swap_buffers_completion_callback_;
|
| - UpdateVSyncParametersCallback update_vsync_parameters_completion_callback_;
|
| -
|
| - base::WeakPtr<CommandBufferProxyImpl> weak_this_;
|
| - scoped_refptr<base::SequencedTaskRunner> callback_thread_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(CommandBufferProxyImpl);
|
| -};
|
| -
|
| -} // namespace content
|
| -
|
| -#endif // CONTENT_COMMON_GPU_CLIENT_COMMAND_BUFFER_PROXY_IMPL_H_
|
|
|