| Index: gpu/command_buffer/service/image_factory.cc
|
| diff --git a/gpu/command_buffer/service/image_factory.cc b/gpu/command_buffer/service/image_factory.cc
|
| index 9a2d458abd8cf9bf3673dcc2ab43e4e69895ee41..86c263f3e6d155b559e07bec072eb1d0331348ee 100644
|
| --- a/gpu/command_buffer/service/image_factory.cc
|
| +++ b/gpu/command_buffer/service/image_factory.cc
|
| @@ -16,23 +16,46 @@ ImageFactory::~ImageFactory() {
|
| }
|
|
|
| // static
|
| -gfx::GpuMemoryBuffer::Format ImageFactory::ImageFormatToGpuMemoryBufferFormat(
|
| - unsigned internalformat) {
|
| +int ImageFactory::GpuMemoryBufferCountForImageFormat(unsigned internalformat) {
|
| switch (internalformat) {
|
| case GL_RGB:
|
| - return gfx::GpuMemoryBuffer::RGBX_8888;
|
| case GL_RGBA:
|
| - return gfx::GpuMemoryBuffer::RGBA_8888;
|
| case GL_ATC_RGB_AMD:
|
| - return gfx::GpuMemoryBuffer::ATC;
|
| case GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD:
|
| - return gfx::GpuMemoryBuffer::ATCIA;
|
| case GL_COMPRESSED_RGB_S3TC_DXT1_EXT:
|
| - return gfx::GpuMemoryBuffer::DXT1;
|
| case GL_COMPRESSED_RGBA_S3TC_DXT5_EXT:
|
| - return gfx::GpuMemoryBuffer::DXT5;
|
| case GL_ETC1_RGB8_OES:
|
| - return gfx::GpuMemoryBuffer::ETC1;
|
| + return 1;
|
| + default:
|
| + NOTREACHED();
|
| + return 0;
|
| + }
|
| +}
|
| +
|
| +// static
|
| +gfx::GpuMemoryBuffer::Format ImageFactory::ImageFormatToGpuMemoryBufferFormat(
|
| + unsigned internalformat,
|
| + int buffer_index) {
|
| + switch (buffer_index) {
|
| + case 0:
|
| + switch (internalformat) {
|
| + case GL_RGB:
|
| + case GL_RGBA:
|
| + return gfx::GpuMemoryBuffer::RGBA_8888;
|
| + case GL_ATC_RGB_AMD:
|
| + return gfx::GpuMemoryBuffer::ATC;
|
| + case GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD:
|
| + return gfx::GpuMemoryBuffer::ATCIA;
|
| + case GL_COMPRESSED_RGB_S3TC_DXT1_EXT:
|
| + return gfx::GpuMemoryBuffer::DXT1;
|
| + case GL_COMPRESSED_RGBA_S3TC_DXT5_EXT:
|
| + return gfx::GpuMemoryBuffer::DXT5;
|
| + case GL_ETC1_RGB8_OES:
|
| + return gfx::GpuMemoryBuffer::ETC1;
|
| + default:
|
| + NOTREACHED();
|
| + return gfx::GpuMemoryBuffer::RGBA_8888;
|
| + }
|
| default:
|
| NOTREACHED();
|
| return gfx::GpuMemoryBuffer::RGBA_8888;
|
| @@ -56,38 +79,41 @@ gfx::GpuMemoryBuffer::Usage ImageFactory::ImageUsageToGpuMemoryBufferUsage(
|
| // static
|
| bool ImageFactory::IsImageFormatCompatibleWithGpuMemoryBufferFormat(
|
| unsigned internalformat,
|
| + int buffer_index,
|
| gfx::GpuMemoryBuffer::Format format) {
|
| - switch (internalformat) {
|
| - case GL_RGB:
|
| - switch (format) {
|
| - case gfx::GpuMemoryBuffer::ATC:
|
| - case gfx::GpuMemoryBuffer::ATCIA:
|
| - case gfx::GpuMemoryBuffer::DXT1:
|
| - case gfx::GpuMemoryBuffer::DXT5:
|
| - case gfx::GpuMemoryBuffer::ETC1:
|
| - case gfx::GpuMemoryBuffer::RGBX_8888:
|
| - return true;
|
| - case gfx::GpuMemoryBuffer::RGBA_8888:
|
| - case gfx::GpuMemoryBuffer::BGRA_8888:
|
| - return false;
|
| - }
|
| - NOTREACHED();
|
| - return false;
|
| - case GL_RGBA:
|
| - switch (format) {
|
| - case gfx::GpuMemoryBuffer::RGBX_8888:
|
| + switch (buffer_index) {
|
| + case 0:
|
| + switch (internalformat) {
|
| + case GL_RGB:
|
| + switch (format) {
|
| + case gfx::GpuMemoryBuffer::ATC:
|
| + case gfx::GpuMemoryBuffer::ATCIA:
|
| + case gfx::GpuMemoryBuffer::DXT1:
|
| + case gfx::GpuMemoryBuffer::DXT5:
|
| + case gfx::GpuMemoryBuffer::ETC1:
|
| + case gfx::GpuMemoryBuffer::RGBX_8888:
|
| + return true;
|
| + case gfx::GpuMemoryBuffer::RGBA_8888:
|
| + case gfx::GpuMemoryBuffer::BGRA_8888:
|
| + return false;
|
| + }
|
| + case GL_RGBA:
|
| + switch (format) {
|
| + case gfx::GpuMemoryBuffer::RGBX_8888:
|
| + return false;
|
| + case gfx::GpuMemoryBuffer::ATC:
|
| + case gfx::GpuMemoryBuffer::ATCIA:
|
| + case gfx::GpuMemoryBuffer::DXT1:
|
| + case gfx::GpuMemoryBuffer::DXT5:
|
| + case gfx::GpuMemoryBuffer::ETC1:
|
| + case gfx::GpuMemoryBuffer::RGBA_8888:
|
| + case gfx::GpuMemoryBuffer::BGRA_8888:
|
| + return true;
|
| + }
|
| + default:
|
| + NOTREACHED();
|
| return false;
|
| - case gfx::GpuMemoryBuffer::ATC:
|
| - case gfx::GpuMemoryBuffer::ATCIA:
|
| - case gfx::GpuMemoryBuffer::DXT1:
|
| - case gfx::GpuMemoryBuffer::DXT5:
|
| - case gfx::GpuMemoryBuffer::ETC1:
|
| - case gfx::GpuMemoryBuffer::RGBA_8888:
|
| - case gfx::GpuMemoryBuffer::BGRA_8888:
|
| - return true;
|
| }
|
| - NOTREACHED();
|
| - return false;
|
| default:
|
| NOTREACHED();
|
| return false;
|
|
|