Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / cc / resources / resource_format.h
blob79b815fcd297c73c1b922c98b608c2397c0be87e
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
3 // found in the LICENSE file.
5 #ifndef CC_RESOURCES_RESOURCE_FORMAT_H_
6 #define CC_RESOURCES_RESOURCE_FORMAT_H_
8 #include "base/logging.h"
9 #include "cc/base/cc_export.h"
10 #include "third_party/skia/include/core/SkBitmap.h"
11 #include "ui/gfx/gpu_memory_buffer.h"
13 // TODO(prashant.n): Including third_party/khronos/GLES2/gl2.h causes
14 // redefinition errors as macros/functions defined in it conflict with
15 // macros/functions defined in ui/gl/gl_bindings.h. (http://crbug.com/512833).
16 typedef unsigned int GLenum;
18 namespace cc {
20 // Keep in sync with arrays below.
21 enum ResourceFormat {
22 RGBA_8888,
23 RGBA_4444,
24 BGRA_8888,
25 ALPHA_8,
26 LUMINANCE_8,
27 RGB_565,
28 ETC1,
29 RED_8,
30 RESOURCE_FORMAT_MAX = RED_8,
33 SkColorType ResourceFormatToSkColorType(ResourceFormat format);
35 CC_EXPORT int BitsPerPixel(ResourceFormat format);
36 CC_EXPORT GLenum GLDataType(ResourceFormat format);
37 CC_EXPORT GLenum GLDataFormat(ResourceFormat format);
38 CC_EXPORT GLenum GLInternalFormat(ResourceFormat format);
39 CC_EXPORT gfx::BufferFormat BufferFormat(ResourceFormat format);
41 } // namespace cc
43 #endif // CC_RESOURCES_RESOURCE_FORMAT_H_