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..c66292389c1e4adf4456a545470bc2308a1f1f94 100644 |
--- a/gpu/command_buffer/service/image_factory.cc |
+++ b/gpu/command_buffer/service/image_factory.cc |
@@ -16,11 +16,46 @@ ImageFactory::~ImageFactory() { |
} |
// static |
+bool ImageFactory::IsImageFormatSupported(unsigned internalformat) { |
+ switch (internalformat) { |
+ case GL_RGB: |
+ case GL_RGBA: |
+ case GL_ATC_RGB_AMD: |
+ case GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD: |
+ case GL_COMPRESSED_RGB_S3TC_DXT1_EXT: |
+ case GL_COMPRESSED_RGBA_S3TC_DXT5_EXT: |
+ case GL_ETC1_RGB8_OES: |
+ return true; |
+ default: |
+ NOTREACHED(); |
+ return false; |
+ } |
+} |
+ |
+// static |
+size_t ImageFactory::NumberOfPlanesForImageFormat(unsigned internalformat) { |
+ switch (internalformat) { |
+ case GL_RGB: |
+ case GL_RGBA: |
+ case GL_ATC_RGB_AMD: |
+ case GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD: |
+ case GL_COMPRESSED_RGB_S3TC_DXT1_EXT: |
+ case GL_COMPRESSED_RGBA_S3TC_DXT5_EXT: |
+ case GL_ETC1_RGB8_OES: |
+ return 1; |
+ default: |
+ NOTREACHED(); |
+ return 0; |
+ } |
+} |
+ |
+// static |
gfx::GpuMemoryBuffer::Format ImageFactory::ImageFormatToGpuMemoryBufferFormat( |
- unsigned internalformat) { |
+ unsigned internalformat, |
+ size_t plane) { |
+ DCHECK_EQ(plane, 0u); |
switch (internalformat) { |
case GL_RGB: |
- return gfx::GpuMemoryBuffer::RGBX_8888; |
case GL_RGBA: |
return gfx::GpuMemoryBuffer::RGBA_8888; |
case GL_ATC_RGB_AMD: |
@@ -56,7 +91,9 @@ gfx::GpuMemoryBuffer::Usage ImageFactory::ImageUsageToGpuMemoryBufferUsage( |
// static |
bool ImageFactory::IsImageFormatCompatibleWithGpuMemoryBufferFormat( |
unsigned internalformat, |
+ size_t plane, |
gfx::GpuMemoryBuffer::Format format) { |
+ DCHECK_EQ(plane, 0u); |
switch (internalformat) { |
case GL_RGB: |
switch (format) { |
@@ -71,8 +108,6 @@ bool ImageFactory::IsImageFormatCompatibleWithGpuMemoryBufferFormat( |
case gfx::GpuMemoryBuffer::BGRA_8888: |
return false; |
} |
- NOTREACHED(); |
- return false; |
case GL_RGBA: |
switch (format) { |
case gfx::GpuMemoryBuffer::RGBX_8888: |
@@ -86,8 +121,6 @@ bool ImageFactory::IsImageFormatCompatibleWithGpuMemoryBufferFormat( |
case gfx::GpuMemoryBuffer::BGRA_8888: |
return true; |
} |
- NOTREACHED(); |
- return false; |
default: |
NOTREACHED(); |
return false; |