| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 UI_GFX_BUFFER_TYPES_H_ | 5 #ifndef UI_GFX_BUFFER_TYPES_H_ |
| 6 #define UI_GFX_BUFFER_TYPES_H_ | 6 #define UI_GFX_BUFFER_TYPES_H_ |
| 7 | 7 |
| 8 namespace gfx { | 8 namespace gfx { |
| 9 | 9 |
| 10 // The format needs to be taken into account when mapping a buffer into the | 10 // The format needs to be taken into account when mapping a buffer into the |
| 11 // client's address space. | 11 // client's address space. |
| 12 enum class BufferFormat { | 12 enum class BufferFormat { |
| 13 ATC, | 13 ATC, |
| 14 ATCIA, | 14 ATCIA, |
| 15 DXT1, | 15 DXT1, |
| 16 DXT5, | 16 DXT5, |
| 17 ETC1, | 17 ETC1, |
| 18 R_8, | 18 R_8, |
| 19 RG_88, | 19 RG_88, |
| 20 BGR_565, | 20 BGR_565, |
| 21 RGBA_4444, | 21 RGBA_4444, |
| 22 RGBX_8888, | 22 RGBX_8888, |
| 23 RGBA_8888, | 23 RGBA_8888, |
| 24 BGRX_8888, | 24 BGRX_8888, |
| 25 BGRA_8888, | 25 BGRA_8888, |
| 26 RGBA_F16, |
| 26 YVU_420, | 27 YVU_420, |
| 27 YUV_420_BIPLANAR, | 28 YUV_420_BIPLANAR, |
| 28 UYVY_422, | 29 UYVY_422, |
| 29 | 30 |
| 30 LAST = UYVY_422 | 31 LAST = UYVY_422 |
| 31 }; | 32 }; |
| 32 | 33 |
| 33 // The usage mode affects how a buffer can be used. Only buffers created with | 34 // The usage mode affects how a buffer can be used. Only buffers created with |
| 34 // *_CPU_READ_WRITE_* can be mapped into the client's address space and accessed | 35 // *_CPU_READ_WRITE_* can be mapped into the client's address space and accessed |
| 35 // by the CPU. *_CPU_READ_WRITE_PERSISTENT adds the additional condition that | 36 // by the CPU. *_CPU_READ_WRITE_PERSISTENT adds the additional condition that |
| 36 // successive Map() calls (with Unmap() calls between) will return a pointer to | 37 // successive Map() calls (with Unmap() calls between) will return a pointer to |
| 37 // the same memory contents. SCANOUT implies GPU_READ_WRITE. | 38 // the same memory contents. SCANOUT implies GPU_READ_WRITE. |
| 38 // TODO(reveman): Add GPU_READ_WRITE for use-cases where SCANOUT is not | 39 // TODO(reveman): Add GPU_READ_WRITE for use-cases where SCANOUT is not |
| 39 // required. | 40 // required. |
| 40 enum class BufferUsage { | 41 enum class BufferUsage { |
| 41 GPU_READ, | 42 GPU_READ, |
| 42 SCANOUT, | 43 SCANOUT, |
| 43 SCANOUT_CPU_READ_WRITE, | 44 SCANOUT_CPU_READ_WRITE, |
| 44 GPU_READ_CPU_READ_WRITE, | 45 GPU_READ_CPU_READ_WRITE, |
| 45 // TODO(reveman): Merge this with GPU_READ_CPU_READ_WRITE when SurfaceTexture | 46 // TODO(reveman): Merge this with GPU_READ_CPU_READ_WRITE when SurfaceTexture |
| 46 // backed buffers are single buffered and support it. | 47 // backed buffers are single buffered and support it. |
| 47 GPU_READ_CPU_READ_WRITE_PERSISTENT, | 48 GPU_READ_CPU_READ_WRITE_PERSISTENT, |
| 48 | 49 |
| 49 LAST = GPU_READ_CPU_READ_WRITE_PERSISTENT | 50 LAST = GPU_READ_CPU_READ_WRITE_PERSISTENT |
| 50 }; | 51 }; |
| 51 | 52 |
| 52 } // namespace gfx | 53 } // namespace gfx |
| 53 | 54 |
| 54 #endif // UI_GFX_BUFFER_TYPES_H_ | 55 #endif // UI_GFX_BUFFER_TYPES_H_ |
| OLD | NEW |