Index: content/common/gpu/gpu_command_buffer_stub.h |
diff --git a/content/common/gpu/gpu_command_buffer_stub.h b/content/common/gpu/gpu_command_buffer_stub.h |
deleted file mode 100644 |
index 58d32c358885a302d35db74b9e3c2343314e66fe..0000000000000000000000000000000000000000 |
--- a/content/common/gpu/gpu_command_buffer_stub.h |
+++ /dev/null |
@@ -1,286 +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_GPU_COMMAND_BUFFER_STUB_H_ |
-#define CONTENT_COMMON_GPU_GPU_COMMAND_BUFFER_STUB_H_ |
- |
-#include <stddef.h> |
-#include <stdint.h> |
- |
-#include <deque> |
-#include <string> |
-#include <vector> |
- |
-#include "base/macros.h" |
-#include "base/memory/weak_ptr.h" |
-#include "base/observer_list.h" |
-#include "base/time/time.h" |
-#include "content/common/content_export.h" |
-#include "content/common/gpu/gpu_memory_manager.h" |
-#include "gpu/command_buffer/common/command_buffer_id.h" |
-#include "gpu/command_buffer/common/constants.h" |
-#include "gpu/command_buffer/common/gpu_memory_allocation.h" |
-#include "gpu/command_buffer/service/command_buffer_service.h" |
-#include "gpu/command_buffer/service/command_executor.h" |
-#include "gpu/command_buffer/service/context_group.h" |
-#include "gpu/ipc/common/surface_handle.h" |
-#include "ipc/ipc_listener.h" |
-#include "ipc/ipc_sender.h" |
-#include "ui/events/latency_info.h" |
-#include "ui/gfx/geometry/size.h" |
-#include "ui/gfx/gpu_memory_buffer.h" |
-#include "ui/gfx/swap_result.h" |
-#include "ui/gl/gl_surface.h" |
-#include "ui/gl/gpu_preference.h" |
-#include "url/gurl.h" |
- |
-namespace gpu { |
-struct Mailbox; |
-struct SyncToken; |
-class SyncPointClient; |
-class SyncPointManager; |
-class ValueStateMap; |
-namespace gles2 { |
-class MailboxManager; |
-class SubscriptionRefSet; |
-} |
-} |
- |
-struct GpuCommandBufferMsg_CreateImage_Params; |
- |
-namespace content { |
- |
-class GpuChannel; |
-class GpuWatchdog; |
-struct WaitForCommandState; |
- |
-class GpuCommandBufferStub |
- : public IPC::Listener, |
- public IPC::Sender, |
- public base::SupportsWeakPtr<GpuCommandBufferStub> { |
- public: |
- class DestructionObserver { |
- public: |
- // Called in Destroy(), before the context/surface are released. |
- virtual void OnWillDestroyStub() = 0; |
- |
- protected: |
- virtual ~DestructionObserver() {} |
- }; |
- |
- typedef base::Callback<void(const std::vector<ui::LatencyInfo>&)> |
- LatencyInfoCallback; |
- |
- GpuCommandBufferStub( |
- GpuChannel* channel, |
- gpu::SyncPointManager* sync_point_manager, |
- base::SingleThreadTaskRunner* task_runner, |
- GpuCommandBufferStub* share_group, |
- gpu::SurfaceHandle surface_handle, |
- gpu::gles2::MailboxManager* mailbox_manager, |
- gpu::PreemptionFlag* preempt_by_flag, |
- gpu::gles2::SubscriptionRefSet* subscription_ref_set, |
- gpu::ValueStateMap* pending_valuebuffer_state, |
- const gfx::Size& size, |
- const gpu::gles2::DisallowedFeatures& disallowed_features, |
- const std::vector<int32_t>& attribs, |
- gfx::GpuPreference gpu_preference, |
- int32_t stream_id, |
- int32_t route_id, |
- GpuWatchdog* watchdog, |
- const GURL& active_url); |
- |
- ~GpuCommandBufferStub() override; |
- |
- // IPC::Listener implementation: |
- bool OnMessageReceived(const IPC::Message& message) override; |
- |
- // IPC::Sender implementation: |
- bool Send(IPC::Message* msg) override; |
- |
- gpu::gles2::MemoryTracker* GetMemoryTracker() const; |
- |
- // Whether this command buffer can currently handle IPC messages. |
- bool IsScheduled(); |
- |
- // Whether there are commands in the buffer that haven't been processed. |
- bool HasUnprocessedCommands(); |
- |
- gpu::gles2::GLES2Decoder* decoder() const { return decoder_.get(); } |
- gpu::CommandExecutor* scheduler() const { return executor_.get(); } |
- GpuChannel* channel() const { return channel_; } |
- |
- // Unique command buffer ID for this command buffer stub. |
- gpu::CommandBufferId command_buffer_id() const { return command_buffer_id_; } |
- |
- // Identifies the various GpuCommandBufferStubs in the GPU process belonging |
- // to the same renderer process. |
- int32_t route_id() const { return route_id_; } |
- |
- // Identifies the stream for this command buffer. |
- int32_t stream_id() const { return stream_id_; } |
- |
- gfx::GpuPreference gpu_preference() { return gpu_preference_; } |
- |
- int32_t GetRequestedAttribute(int attr) const; |
- |
- // Sends a message to the console. |
- void SendConsoleMessage(int32_t id, const std::string& message); |
- |
- void SendCachedShader(const std::string& key, const std::string& shader); |
- |
- gfx::GLSurface* surface() const { return surface_.get(); } |
- |
- void AddDestructionObserver(DestructionObserver* observer); |
- void RemoveDestructionObserver(DestructionObserver* observer); |
- |
- void SetLatencyInfoCallback(const LatencyInfoCallback& callback); |
- |
- void MarkContextLost(); |
- |
- const gpu::gles2::FeatureInfo* GetFeatureInfo() const; |
- |
- void SendSwapBuffersCompleted( |
- const std::vector<ui::LatencyInfo>& latency_info, |
- gfx::SwapResult result); |
- void SendUpdateVSyncParameters(base::TimeTicks timebase, |
- base::TimeDelta interval); |
- |
- private: |
- GpuMemoryManager* GetMemoryManager() const; |
- |
- void Destroy(); |
- |
- bool MakeCurrent(); |
- |
- // Cleans up and sends reply if OnInitialize failed. |
- void OnInitializeFailed(IPC::Message* reply_message); |
- |
- scoped_refptr<gfx::GLSurface> CreateSurface(); |
- |
- // Message handlers: |
- void OnInitialize(base::SharedMemoryHandle shared_state_shm, |
- IPC::Message* reply_message); |
- void OnSetGetBuffer(int32_t shm_id, IPC::Message* reply_message); |
- void OnProduceFrontBuffer(const gpu::Mailbox& mailbox); |
- void OnGetState(IPC::Message* reply_message); |
- void OnWaitForTokenInRange(int32_t start, |
- int32_t end, |
- IPC::Message* reply_message); |
- void OnWaitForGetOffsetInRange(int32_t start, |
- int32_t end, |
- IPC::Message* reply_message); |
- void OnAsyncFlush(int32_t put_offset, |
- uint32_t flush_count, |
- const std::vector<ui::LatencyInfo>& latency_info); |
- void OnRegisterTransferBuffer(int32_t id, |
- base::SharedMemoryHandle transfer_buffer, |
- uint32_t size); |
- void OnDestroyTransferBuffer(int32_t id); |
- void OnGetTransferBuffer(int32_t id, IPC::Message* reply_message); |
- |
- void OnEnsureBackbuffer(); |
- |
- void OnSignalSyncToken(const gpu::SyncToken& sync_token, uint32_t id); |
- void OnSignalAck(uint32_t id); |
- void OnSignalQuery(uint32_t query, uint32_t id); |
- |
- void OnFenceSyncRelease(uint64_t release); |
- bool OnWaitFenceSync(gpu::CommandBufferNamespace namespace_id, |
- gpu::CommandBufferId command_buffer_id, |
- uint64_t release); |
- void OnWaitFenceSyncCompleted(gpu::CommandBufferNamespace namespace_id, |
- gpu::CommandBufferId command_buffer_id, |
- uint64_t release); |
- |
- void OnCreateImage(const GpuCommandBufferMsg_CreateImage_Params& params); |
- void OnDestroyImage(int32_t id); |
- void OnCreateStreamTexture(uint32_t texture_id, |
- int32_t stream_id, |
- bool* succeeded); |
- |
- void OnCommandProcessed(); |
- void OnParseError(); |
- void OnSchedulingChanged(bool scheduled); |
- |
- void ReportState(); |
- |
- // Wrapper for CommandExecutor::PutChanged that sets the crash report URL. |
- void PutChanged(); |
- |
- // Poll the command buffer to execute work. |
- void PollWork(); |
- void PerformWork(); |
- |
- // Schedule processing of delayed work. This updates the time at which |
- // delayed work should be processed. |process_delayed_work_time_| is |
- // updated to current time + delay. Call this after processing some amount |
- // of delayed work. |
- void ScheduleDelayedWork(base::TimeDelta delay); |
- |
- bool CheckContextLost(); |
- void CheckCompleteWaits(); |
- void PullTextureUpdates(gpu::CommandBufferNamespace namespace_id, |
- gpu::CommandBufferId command_buffer_id, |
- uint32_t release); |
- |
- // The lifetime of objects of this class is managed by a GpuChannel. The |
- // GpuChannels destroy all the GpuCommandBufferStubs that they own when they |
- // are destroyed. So a raw pointer is safe. |
- GpuChannel* const channel_; |
- |
- // Outlives the stub. |
- gpu::SyncPointManager* const sync_point_manager_; |
- |
- // Task runner for main thread. |
- scoped_refptr<base::SingleThreadTaskRunner> task_runner_; |
- |
- // The group of contexts that share namespaces with this context. |
- scoped_refptr<gpu::gles2::ContextGroup> context_group_; |
- |
- bool initialized_; |
- const gpu::SurfaceHandle surface_handle_; |
- gfx::Size initial_size_; |
- gpu::gles2::DisallowedFeatures disallowed_features_; |
- std::vector<int32_t> requested_attribs_; |
- gfx::GpuPreference gpu_preference_; |
- bool use_virtualized_gl_context_; |
- const gpu::CommandBufferId command_buffer_id_; |
- const int32_t stream_id_; |
- const int32_t route_id_; |
- uint32_t last_flush_count_; |
- |
- scoped_ptr<gpu::CommandBufferService> command_buffer_; |
- scoped_ptr<gpu::gles2::GLES2Decoder> decoder_; |
- scoped_ptr<gpu::CommandExecutor> executor_; |
- scoped_ptr<gpu::SyncPointClient> sync_point_client_; |
- scoped_refptr<gfx::GLSurface> surface_; |
- gfx::GLSurface::Format surface_format_; |
- |
- GpuWatchdog* watchdog_; |
- |
- base::ObserverList<DestructionObserver> destruction_observers_; |
- |
- bool waiting_for_sync_point_; |
- |
- base::TimeTicks process_delayed_work_time_; |
- uint32_t previous_processed_num_; |
- base::TimeTicks last_idle_time_; |
- |
- scoped_refptr<gpu::PreemptionFlag> preemption_flag_; |
- |
- LatencyInfoCallback latency_info_callback_; |
- |
- GURL active_url_; |
- size_t active_url_hash_; |
- |
- scoped_ptr<WaitForCommandState> wait_for_token_; |
- scoped_ptr<WaitForCommandState> wait_for_get_offset_; |
- |
- DISALLOW_COPY_AND_ASSIGN(GpuCommandBufferStub); |
-}; |
- |
-} // namespace content |
- |
-#endif // CONTENT_COMMON_GPU_GPU_COMMAND_BUFFER_STUB_H_ |