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 CC_RESOURCES_RESOURCE_FORMAT_H_ | 5 #ifndef CC_RESOURCES_RESOURCE_FORMAT_H_ |
6 #define CC_RESOURCES_RESOURCE_FORMAT_H_ | 6 #define CC_RESOURCES_RESOURCE_FORMAT_H_ |
7 | 7 |
8 #include "base/logging.h" | 8 #include "base/logging.h" |
9 #include "cc/base/cc_export.h" | 9 #include "cc/base/cc_export.h" |
10 #include "third_party/skia/include/core/SkImageInfo.h" | |
11 #include "ui/gfx/gpu_memory_buffer.h" | 10 #include "ui/gfx/gpu_memory_buffer.h" |
12 | 11 |
13 // TODO(prashant.n): Including third_party/khronos/GLES2/gl2.h causes | 12 // TODO(prashant.n): Including third_party/khronos/GLES2/gl2.h causes |
14 // redefinition errors as macros/functions defined in it conflict with | 13 // redefinition errors as macros/functions defined in it conflict with |
15 // macros/functions defined in ui/gl/gl_bindings.h. (http://crbug.com/512833). | 14 // macros/functions defined in ui/gl/gl_bindings.h. (http://crbug.com/512833). |
16 typedef unsigned int GLenum; | 15 typedef unsigned int GLenum; |
17 | 16 |
18 namespace cc { | 17 namespace cc { |
19 | 18 |
20 // Keep in sync with arrays below. | 19 // Keep in sync with arrays below. |
21 enum ResourceFormat { | 20 enum ResourceFormat { |
22 RGBA_8888, | 21 RGBA_8888, |
23 RGBA_4444, | 22 RGBA_4444, |
24 BGRA_8888, | 23 BGRA_8888, |
25 ALPHA_8, | 24 ALPHA_8, |
26 LUMINANCE_8, | 25 LUMINANCE_8, |
27 RGB_565, | 26 RGB_565, |
28 ETC1, | 27 ETC1, |
29 RED_8, | 28 RED_8, |
30 LUMINANCE_F16, | 29 LUMINANCE_F16, |
31 RESOURCE_FORMAT_MAX = LUMINANCE_F16, | 30 RESOURCE_FORMAT_MAX = LUMINANCE_F16, |
32 }; | 31 }; |
33 | 32 |
34 SkColorType ResourceFormatToClosestSkColorType(ResourceFormat format); | |
35 | |
36 CC_EXPORT int BitsPerPixel(ResourceFormat format); | 33 CC_EXPORT int BitsPerPixel(ResourceFormat format); |
37 CC_EXPORT GLenum GLDataType(ResourceFormat format); | 34 CC_EXPORT GLenum GLDataType(ResourceFormat format); |
38 CC_EXPORT GLenum GLDataFormat(ResourceFormat format); | 35 CC_EXPORT GLenum GLDataFormat(ResourceFormat format); |
39 CC_EXPORT GLenum GLInternalFormat(ResourceFormat format); | 36 CC_EXPORT GLenum GLInternalFormat(ResourceFormat format); |
40 CC_EXPORT gfx::BufferFormat BufferFormat(ResourceFormat format); | 37 CC_EXPORT gfx::BufferFormat BufferFormat(ResourceFormat format); |
41 | 38 |
42 bool IsResourceFormatCompressed(ResourceFormat format); | 39 bool IsResourceFormatCompressed(ResourceFormat format); |
43 bool DoesResourceFormatSupportAlpha(ResourceFormat format); | 40 bool DoesResourceFormatSupportAlpha(ResourceFormat format); |
44 | 41 |
45 } // namespace cc | 42 } // namespace cc |
46 | 43 |
47 #endif // CC_RESOURCES_RESOURCE_FORMAT_H_ | 44 #endif // CC_RESOURCES_RESOURCE_FORMAT_H_ |
OLD | NEW |