Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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_GPU_MEMORY_BUFFER_IMPL_H_ | 5 #ifndef CONTENT_COMMON_GPU_CLIENT_GPU_MEMORY_BUFFER_IMPL_H_ |
| 6 #define CONTENT_COMMON_GPU_CLIENT_GPU_MEMORY_BUFFER_IMPL_H_ | 6 #define CONTENT_COMMON_GPU_CLIENT_GPU_MEMORY_BUFFER_IMPL_H_ |
| 7 | 7 |
| 8 #include "base/callback.h" | 8 #include "base/callback.h" |
| 9 #include "base/memory/scoped_ptr.h" | 9 #include "base/memory/scoped_ptr.h" |
| 10 #include "content/common/content_export.h" | 10 #include "content/common/content_export.h" |
| (...skipping 15 matching lines...) Expand all Loading... | |
| 26 // thread as this function was called on and instance was created on. | 26 // thread as this function was called on and instance was created on. |
| 27 static scoped_ptr<GpuMemoryBufferImpl> CreateFromHandle( | 27 static scoped_ptr<GpuMemoryBufferImpl> CreateFromHandle( |
| 28 const gfx::GpuMemoryBufferHandle& handle, | 28 const gfx::GpuMemoryBufferHandle& handle, |
| 29 const gfx::Size& size, | 29 const gfx::Size& size, |
| 30 Format format, | 30 Format format, |
| 31 const DestructionCallback& callback); | 31 const DestructionCallback& callback); |
| 32 | 32 |
| 33 // Type-checking upcast routine. Returns an NULL on failure. | 33 // Type-checking upcast routine. Returns an NULL on failure. |
| 34 static GpuMemoryBufferImpl* FromClientBuffer(ClientBuffer buffer); | 34 static GpuMemoryBufferImpl* FromClientBuffer(ClientBuffer buffer); |
| 35 | 35 |
| 36 // Returns the number of planes based on the format of the buffer. | |
| 37 static size_t NumberOfPlanesForGpuMemoryBufferFormat( | |
| 38 gfx::GpuMemoryBuffer::Format format); | |
| 39 | |
| 36 // Calculates the number of bytes that an implementation must use to store | 40 // Calculates the number of bytes that an implementation must use to store |
| 37 // one row of pixel data. | 41 // one row of pixel data. |
| 38 static bool StrideInBytes(size_t width, | 42 static bool StrideInBytes(size_t width, |
| 39 Format format, | 43 Format format, |
| 44 int plane, | |
| 40 size_t* stride_in_bytes); | 45 size_t* stride_in_bytes); |
| 41 | 46 |
| 42 // Returns the number of planes based on the format of the buffer. | 47 // Returns the subsampling factor applied to the given zero-indexed |plane| of |
| 43 static size_t NumberOfPlanesForGpuMemoryBufferFormat( | 48 // the |format| both horizontally and vertically. |
| 44 gfx::GpuMemoryBuffer::Format format); | 49 static size_t SubsamplingFactor(gfx::GpuMemoryBuffer::Format format, |
| 50 int plane); | |
| 51 | |
| 52 // Calculates the number of bytes that an implementation must use to store | |
| 53 // all the planes of a given |format|. | |
| 54 static bool TotalBufferSizeInBytes(const gfx::Size& size, | |
|
reveman
2015/04/07 19:03:25
nit: not sure you need the "Total" prefix, BufferS
emircan
2015/04/07 20:08:12
Done.
| |
| 55 gfx::GpuMemoryBuffer::Format format, | |
| 56 size_t* total_size_in_bytes); | |
|
reveman
2015/04/07 19:03:25
remove "total_" prefix here too if you decide to r
emircan
2015/04/07 20:08:12
Done.
| |
| 45 | 57 |
| 46 // Overridden from gfx::GpuMemoryBuffer: | 58 // Overridden from gfx::GpuMemoryBuffer: |
| 47 bool IsMapped() const override; | 59 bool IsMapped() const override; |
| 48 Format GetFormat() const override; | 60 Format GetFormat() const override; |
| 49 ClientBuffer AsClientBuffer() override; | 61 ClientBuffer AsClientBuffer() override; |
| 50 | 62 |
| 51 void set_destruction_sync_point(uint32 sync_point) { | 63 void set_destruction_sync_point(uint32 sync_point) { |
| 52 destruction_sync_point_ = sync_point; | 64 destruction_sync_point_ = sync_point; |
| 53 } | 65 } |
| 54 | 66 |
| (...skipping 10 matching lines...) Expand all Loading... | |
| 65 bool mapped_; | 77 bool mapped_; |
| 66 uint32 destruction_sync_point_; | 78 uint32 destruction_sync_point_; |
| 67 | 79 |
| 68 private: | 80 private: |
| 69 DISALLOW_COPY_AND_ASSIGN(GpuMemoryBufferImpl); | 81 DISALLOW_COPY_AND_ASSIGN(GpuMemoryBufferImpl); |
| 70 }; | 82 }; |
| 71 | 83 |
| 72 } // namespace content | 84 } // namespace content |
| 73 | 85 |
| 74 #endif // CONTENT_COMMON_GPU_CLIENT_GPU_MEMORY_BUFFER_IMPL_H_ | 86 #endif // CONTENT_COMMON_GPU_CLIENT_GPU_MEMORY_BUFFER_IMPL_H_ |
| OLD | NEW |