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) { |
reveman
2015/03/12 19:37:22
size_t plane?
|
+ switch (buffer_index) { |
reveman
2015/03/12 19:37:23
You can just DCHECK_EQ(plane, 0u) in this patch.
|
+ 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) { |
reveman
2015/03/12 19:37:23
DCHECK_EQ(plane, 0u)
emircan
2015/03/12 22:34:26
Done.
|
+ 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; |