| Index: cc/texture.cc
|
| diff --git a/cc/texture.cc b/cc/texture.cc
|
| index 9fd8ebe1ff80f235887c22753bec5099e0507318..f6400eb20abcf0f76b2afe15fba636e1de167b0c 100644
|
| --- a/cc/texture.cc
|
| +++ b/cc/texture.cc
|
| @@ -5,6 +5,7 @@
|
| #include "config.h"
|
|
|
| #include "cc/texture.h"
|
| +#include "third_party/khronos/GLES2/gl2ext.h"
|
|
|
| namespace cc {
|
|
|
| @@ -22,11 +23,27 @@ size_t Texture::bytes() const
|
| return memorySizeBytes(m_size, m_format);
|
| }
|
|
|
| -size_t Texture::memorySizeBytes(const IntSize& size, GLenum format)
|
| +size_t Texture::bytesPerPixel(GLenum format)
|
| {
|
| - unsigned int componentsPerPixel = 4;
|
| + unsigned int componentsPerPixel = 0;
|
| unsigned int bytesPerComponent = 1;
|
| - return componentsPerPixel * bytesPerComponent * size.width() * size.height();
|
| + switch (format) {
|
| + case GL_RGBA:
|
| + case GL_BGRA_EXT:
|
| + componentsPerPixel = 4;
|
| + break;
|
| + case GL_LUMINANCE:
|
| + componentsPerPixel = 1;
|
| + break;
|
| + default:
|
| + NOTREACHED();
|
| + }
|
| + return componentsPerPixel * bytesPerComponent;
|
| +}
|
| +
|
| +size_t Texture::memorySizeBytes(const IntSize& size, GLenum format)
|
| +{
|
| + return bytesPerPixel(format) * size.width() * size.height();
|
| }
|
|
|
| }
|
|
|