| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef CONTENT_COMMON_GPU_CLIENT_GL_HELPER_H_ | 5 #ifndef CONTENT_COMMON_GPU_CLIENT_GL_HELPER_H_ |
| 6 #define CONTENT_COMMON_GPU_CLIENT_GL_HELPER_H_ | 6 #define CONTENT_COMMON_GPU_CLIENT_GL_HELPER_H_ |
| 7 | 7 |
| 8 #include "base/atomicops.h" | 8 #include "base/atomicops.h" |
| 9 #include "base/basictypes.h" | 9 #include "base/basictypes.h" |
| 10 #include "base/callback.h" | 10 #include "base/callback.h" |
| 11 #include "base/memory/scoped_ptr.h" | 11 #include "base/memory/scoped_ptr.h" |
| 12 #include "content/common/content_export.h" | 12 #include "content/common/content_export.h" |
| 13 #include "gpu/command_buffer/client/gles2_interface.h" | 13 #include "gpu/command_buffer/client/gles2_interface.h" |
| 14 #include "gpu/command_buffer/common/mailbox_holder.h" |
| 14 #include "third_party/skia/include/core/SkBitmap.h" | 15 #include "third_party/skia/include/core/SkBitmap.h" |
| 15 | 16 |
| 16 namespace gfx { | 17 namespace gfx { |
| 17 class Rect; | 18 class Rect; |
| 18 class Size; | 19 class Size; |
| 19 } | 20 } |
| 20 | 21 |
| 21 namespace gpu { | 22 namespace gpu { |
| 22 class ContextSupport; | 23 class ContextSupport; |
| 23 struct Mailbox; | 24 struct Mailbox; |
| (...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 248 // Simply creates a texture. | 249 // Simply creates a texture. |
| 249 GLuint CreateTexture(); | 250 GLuint CreateTexture(); |
| 250 // Deletes a texture. | 251 // Deletes a texture. |
| 251 void DeleteTexture(GLuint texture_id); | 252 void DeleteTexture(GLuint texture_id); |
| 252 | 253 |
| 253 // Insert a sync point into the GL command buffer. | 254 // Insert a sync point into the GL command buffer. |
| 254 uint32 InsertSyncPoint(); | 255 uint32 InsertSyncPoint(); |
| 255 // Wait for the sync point before executing further GL commands. | 256 // Wait for the sync point before executing further GL commands. |
| 256 void WaitSyncPoint(uint32 sync_point); | 257 void WaitSyncPoint(uint32 sync_point); |
| 257 | 258 |
| 258 // Creates a mailbox that is attached to the given texture id, and a sync | 259 // Creates a mailbox holder that is attached to the given texture id, with a |
| 259 // point to wait on before using the mailbox. Returns an empty mailbox on | 260 // sync point to wait on before using the mailbox. Returns a holder with an |
| 260 // failure. | 261 // empty mailbox on failure. |
| 261 // Note the texture is assumed to be GL_TEXTURE_2D. | 262 // Note the texture is assumed to be GL_TEXTURE_2D. |
| 262 gpu::Mailbox ProduceMailboxFromTexture(GLuint texture_id, uint32* sync_point); | 263 gpu::MailboxHolder ProduceMailboxHolderFromTexture(GLuint texture_id); |
| 263 | 264 |
| 264 // Creates a texture and consumes a mailbox into it. Returns 0 on failure. | 265 // Creates a texture and consumes a mailbox into it. Returns 0 on failure. |
| 265 // Note the mailbox is assumed to be GL_TEXTURE_2D. | 266 // Note the mailbox is assumed to be GL_TEXTURE_2D. |
| 266 GLuint ConsumeMailboxToTexture(const gpu::Mailbox& mailbox, | 267 GLuint ConsumeMailboxToTexture(const gpu::Mailbox& mailbox, |
| 267 uint32 sync_point); | 268 uint32 sync_point); |
| 268 | 269 |
| 269 // Resizes the texture's size to |size|. | 270 // Resizes the texture's size to |size|. |
| 270 void ResizeTexture(GLuint texture, const gfx::Size& size); | 271 void ResizeTexture(GLuint texture, const gfx::Size& size); |
| 271 | 272 |
| 272 // Copies the framebuffer data given in |rect| to |texture|. | 273 // Copies the framebuffer data given in |rect| to |texture|. |
| (...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 361 virtual void ReadbackYUV(const gpu::Mailbox& mailbox, | 362 virtual void ReadbackYUV(const gpu::Mailbox& mailbox, |
| 362 uint32 sync_point, | 363 uint32 sync_point, |
| 363 const scoped_refptr<media::VideoFrame>& target, | 364 const scoped_refptr<media::VideoFrame>& target, |
| 364 const base::Callback<void(bool)>& callback) = 0; | 365 const base::Callback<void(bool)>& callback) = 0; |
| 365 virtual GLHelper::ScalerInterface* scaler() = 0; | 366 virtual GLHelper::ScalerInterface* scaler() = 0; |
| 366 }; | 367 }; |
| 367 | 368 |
| 368 } // namespace content | 369 } // namespace content |
| 369 | 370 |
| 370 #endif // CONTENT_COMMON_GPU_CLIENT_GL_HELPER_H_ | 371 #endif // CONTENT_COMMON_GPU_CLIENT_GL_HELPER_H_ |
| OLD | NEW |