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

Unified Diff: components/mus/gles2/command_buffer_driver.h

Issue 2119963002: Move mus to //services/ui (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: . Created 4 years, 6 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 | « components/mus/gles2/OWNERS ('k') | components/mus/gles2/command_buffer_driver.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/mus/gles2/command_buffer_driver.h
diff --git a/components/mus/gles2/command_buffer_driver.h b/components/mus/gles2/command_buffer_driver.h
deleted file mode 100644
index bb08ee255feee0898f331a4fd01fec2061b31317..0000000000000000000000000000000000000000
--- a/components/mus/gles2/command_buffer_driver.h
+++ /dev/null
@@ -1,173 +0,0 @@
-// Copyright 2013 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 COMPONENTS_MUS_GLES2_COMMAND_BUFFER_DRIVER_H_
-#define COMPONENTS_MUS_GLES2_COMMAND_BUFFER_DRIVER_H_
-
-#include <stdint.h>
-
-#include <memory>
-
-#include "base/callback.h"
-#include "base/macros.h"
-#include "base/memory/weak_ptr.h"
-#include "base/single_thread_task_runner.h"
-#include "base/threading/non_thread_safe.h"
-#include "base/time/time.h"
-#include "gpu/command_buffer/common/capabilities.h"
-#include "gpu/command_buffer/common/command_buffer.h"
-#include "gpu/command_buffer/common/command_buffer_id.h"
-#include "gpu/command_buffer/common/constants.h"
-#include "mojo/public/cpp/bindings/array.h"
-#include "mojo/public/cpp/system/buffer.h"
-#include "ui/gfx/buffer_types.h"
-#include "ui/gfx/geometry/mojo/geometry.mojom.h"
-#include "ui/gfx/geometry/size.h"
-#include "ui/gfx/native_widget_types.h"
-#include "ui/gfx/swap_result.h"
-
-namespace gl {
-class GLContext;
-class GLSurface;
-}
-
-namespace gpu {
-class CommandBufferService;
-class CommandExecutor;
-class SyncPointClient;
-class SyncPointOrderData;
-
-namespace gles2 {
-class GLES2Decoder;
-} // namespace gles2
-
-} // namespace gpu
-
-namespace ui {
-class NativePixmap;
-}
-
-namespace mus {
-
-class GpuState;
-
-// This class receives CommandBuffer messages on the same thread as the native
-// viewport.
-class CommandBufferDriver : base::NonThreadSafe {
- public:
- class Client {
- public:
- virtual ~Client();
- virtual void DidLoseContext(uint32_t reason) = 0;
- virtual void UpdateVSyncParameters(const base::TimeTicks& timebase,
- const base::TimeDelta& interval) = 0;
- virtual void OnGpuCompletedSwapBuffers(gfx::SwapResult result) = 0;
- };
- CommandBufferDriver(gpu::CommandBufferNamespace command_buffer_namespace,
- gpu::CommandBufferId command_buffer_id,
- gfx::AcceleratedWidget widget,
- scoped_refptr<GpuState> gpu_state);
- ~CommandBufferDriver();
-
- // The class owning the CommandBufferDriver instance (e.g. CommandBufferLocal)
- // is itself the Client implementation so CommandBufferDriver does not own the
- // client.
- void set_client(Client* client) { client_ = client; }
-
- bool Initialize(mojo::ScopedSharedBufferHandle shared_state,
- mojo::Array<int32_t> attribs);
- void SetGetBuffer(int32_t buffer);
- void Flush(int32_t put_offset);
- void RegisterTransferBuffer(int32_t id,
- mojo::ScopedSharedBufferHandle transfer_buffer,
- uint32_t size);
- void DestroyTransferBuffer(int32_t id);
- void CreateImage(int32_t id,
- mojo::ScopedHandle memory_handle,
- int32_t type,
- const gfx::Size& size,
- int32_t format,
- int32_t internal_format);
- void CreateImageNativeOzone(int32_t id,
- int32_t type,
- gfx::Size size,
- gfx::BufferFormat format,
- uint32_t internal_format,
- ui::NativePixmap* pixmap);
- void DestroyImage(int32_t id);
- bool IsScheduled() const;
- bool HasUnprocessedCommands() const;
- gpu::Capabilities GetCapabilities() const;
- gpu::CommandBuffer::State GetLastState() const;
- gpu::CommandBufferNamespace GetNamespaceID() const {
- return command_buffer_namespace_;
- }
- gpu::CommandBufferId GetCommandBufferID() const { return command_buffer_id_; }
- gpu::SyncPointOrderData* sync_point_order_data() {
- return sync_point_order_data_.get();
- }
- uint32_t GetUnprocessedOrderNum() const;
- uint32_t GetProcessedOrderNum() const;
- void SignalQuery(uint32_t query_id, const base::Closure& callback);
-
- private:
- bool MakeCurrent();
-
- // Process pending queries and call |ScheduleDelayedWork| to schedule
- // processing of delayed work.
- void ProcessPendingAndIdleWork();
-
- // 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);
-
- // Poll the command buffer to execute work.
- void PollWork();
- void PerformWork();
-
- void DestroyDecoder();
-
- // Callbacks:
- void OnUpdateVSyncParameters(const base::TimeTicks timebase,
- const base::TimeDelta interval);
- void OnFenceSyncRelease(uint64_t release);
- bool OnWaitFenceSync(gpu::CommandBufferNamespace namespace_id,
- gpu::CommandBufferId command_buffer_id,
- uint64_t release);
- void OnDescheduleUntilFinished();
- void OnRescheduleAfterFinished();
- void OnParseError();
- void OnContextLost(uint32_t reason);
- void OnGpuCompletedSwapBuffers(gfx::SwapResult result);
-
- const gpu::CommandBufferNamespace command_buffer_namespace_;
- const gpu::CommandBufferId command_buffer_id_;
- gfx::AcceleratedWidget widget_;
- Client* client_; // NOT OWNED.
- std::unique_ptr<gpu::CommandBufferService> command_buffer_;
- std::unique_ptr<gpu::gles2::GLES2Decoder> decoder_;
- std::unique_ptr<gpu::CommandExecutor> executor_;
- scoped_refptr<gpu::SyncPointOrderData> sync_point_order_data_;
- std::unique_ptr<gpu::SyncPointClient> sync_point_client_;
- scoped_refptr<gl::GLContext> context_;
- scoped_refptr<gl::GLSurface> surface_;
- scoped_refptr<GpuState> gpu_state_;
-
- scoped_refptr<base::SingleThreadTaskRunner> context_lost_task_runner_;
- base::Callback<void(int32_t)> context_lost_callback_;
-
- base::TimeTicks process_delayed_work_time_;
- uint32_t previous_processed_num_;
- base::TimeTicks last_idle_time_;
-
- base::WeakPtrFactory<CommandBufferDriver> weak_factory_;
-
- DISALLOW_COPY_AND_ASSIGN(CommandBufferDriver);
-};
-
-} // namespace mus
-
-#endif // COMPONENTS_GLES2_COMMAND_BUFFER_DRIVER_H_
« no previous file with comments | « components/mus/gles2/OWNERS ('k') | components/mus/gles2/command_buffer_driver.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698