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 bytes per pixel that must be used by an | 36 // Returns the number of bits per pixel that must be used by an |
| 37 // implementation when using |format|. | 37 // implementation when using |format|. |
| 38 static size_t BytesPerPixel(Format format); | 38 static size_t BitsPerPixel(Format format); |
| 39 | |
| 40 // Returns the number of bytes that an implementation must use to store | |
| 41 // |pixel_count| number of pixels. | |
| 42 static size_t PixelsToBytes( | |
| 43 size_t pixel_count, | |
| 44 gfx::GpuMemoryBuffer::Format format); | |
|
reveman
2014/12/15 17:33:34
Hm, this doesn't work with stride != width * bytes
christiank
2014/12/16 12:02:52
You're right. This code is based on the assumption
reveman
2014/12/16 16:40:12
Thanks for explaining.
Not supporting some dimens
christiank
2014/12/18 13:58:29
Sounds good to me. I have now replaced PixelsToByt
| |
| 39 | 45 |
| 40 // Overridden from gfx::GpuMemoryBuffer: | 46 // Overridden from gfx::GpuMemoryBuffer: |
| 41 bool IsMapped() const override; | 47 bool IsMapped() const override; |
| 42 Format GetFormat() const override; | 48 Format GetFormat() const override; |
| 43 ClientBuffer AsClientBuffer() override; | 49 ClientBuffer AsClientBuffer() override; |
| 44 | 50 |
| 45 void set_destruction_sync_point(uint32 sync_point) { | 51 void set_destruction_sync_point(uint32 sync_point) { |
| 46 destruction_sync_point_ = sync_point; | 52 destruction_sync_point_ = sync_point; |
| 47 } | 53 } |
| 48 | 54 |
| (...skipping 10 matching lines...) Expand all Loading... | |
| 59 bool mapped_; | 65 bool mapped_; |
| 60 uint32 destruction_sync_point_; | 66 uint32 destruction_sync_point_; |
| 61 | 67 |
| 62 private: | 68 private: |
| 63 DISALLOW_COPY_AND_ASSIGN(GpuMemoryBufferImpl); | 69 DISALLOW_COPY_AND_ASSIGN(GpuMemoryBufferImpl); |
| 64 }; | 70 }; |
| 65 | 71 |
| 66 } // namespace content | 72 } // namespace content |
| 67 | 73 |
| 68 #endif // CONTENT_COMMON_GPU_CLIENT_GPU_MEMORY_BUFFER_IMPL_H_ | 74 #endif // CONTENT_COMMON_GPU_CLIENT_GPU_MEMORY_BUFFER_IMPL_H_ |
| OLD | NEW |