| // Copyright 2015 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 MOJO_GPU_MOJO_CONTEXT_SUPPORT_H_ |
| #define MOJO_GPU_MOJO_CONTEXT_SUPPORT_H_ |
| |
| #include "base/macros.h" |
| #include "gpu/command_buffer/client/context_support.h" |
| #include "mojo/public/c/gles2/gles2.h" |
| |
| namespace mojo { |
| |
| class MojoContextSupport : public gpu::ContextSupport { |
| public: |
| explicit MojoContextSupport(MojoGLES2Context context); |
| ~MojoContextSupport() override; |
| |
| // gpu::ContextSupport implementation. |
| void SignalSyncPoint(uint32 sync_point, |
| const base::Closure& callback) override; |
| void SignalQuery(uint32 query, const base::Closure& callback) override; |
| void SetSurfaceVisible(bool visible) override; |
| void Swap() override; |
| void PartialSwapBuffers(const gfx::Rect& sub_buffer) override; |
| void ScheduleOverlayPlane(int plane_z_order, |
| gfx::OverlayTransform plane_transform, |
| unsigned overlay_texture_id, |
| const gfx::Rect& display_bounds, |
| const gfx::RectF& uv_rect) override; |
| uint32 InsertFutureSyncPointCHROMIUM() override; |
| void RetireSyncPointCHROMIUM(uint32 sync_point) override; |
| |
| private: |
| MojoGLES2Context context_; |
| DISALLOW_COPY_AND_ASSIGN(MojoContextSupport); |
| }; |
| } |
| |
| #endif // MOJO_GPU_MOJO_CONTEXT_SUPPORT_H_ |