| Index: gpu/command_buffer/client/gles2_implementation.cc
|
| diff --git a/gpu/command_buffer/client/gles2_implementation.cc b/gpu/command_buffer/client/gles2_implementation.cc
|
| index 1c8045d75bd8269809b1690837a016d494ee94e7..34bdec9ae9cf19fbb7f3b38412b5e1757e146126 100644
|
| --- a/gpu/command_buffer/client/gles2_implementation.cc
|
| +++ b/gpu/command_buffer/client/gles2_implementation.cc
|
| @@ -5198,8 +5198,18 @@ void GLES2Implementation::RetireSyncPointCHROMIUM(GLuint sync_point) {
|
|
|
| namespace {
|
|
|
| -bool ValidImageFormat(GLenum internalformat) {
|
| +bool ValidImageFormat(GLenum internalformat,
|
| + const Capabilities& capabilities) {
|
| switch (internalformat) {
|
| + case GL_ATC_RGB_AMD:
|
| + case GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD:
|
| + return capabilities.texture_format_atc;
|
| + case GL_COMPRESSED_RGB_S3TC_DXT1_EXT:
|
| + return capabilities.texture_format_dxt1;
|
| + case GL_COMPRESSED_RGBA_S3TC_DXT5_EXT:
|
| + return capabilities.texture_format_dxt5;
|
| + case GL_ETC1_RGB8_OES:
|
| + return capabilities.texture_format_etc1;
|
| case GL_R8:
|
| case GL_RGB:
|
| case GL_RGBA:
|
| @@ -5236,7 +5246,7 @@ GLuint GLES2Implementation::CreateImageCHROMIUMHelper(ClientBuffer buffer,
|
| return 0;
|
| }
|
|
|
| - if (!ValidImageFormat(internalformat)) {
|
| + if (!ValidImageFormat(internalformat, capabilities_)) {
|
| SetGLError(GL_INVALID_VALUE, "glCreateImageCHROMIUM", "invalid format");
|
| return 0;
|
| }
|
| @@ -5298,7 +5308,7 @@ GLuint GLES2Implementation::CreateGpuMemoryBufferImageCHROMIUMHelper(
|
| return 0;
|
| }
|
|
|
| - if (!ValidImageFormat(internalformat)) {
|
| + if (!ValidImageFormat(internalformat, capabilities_)) {
|
| SetGLError(GL_INVALID_VALUE,
|
| "glCreateGpuMemoryBufferImageCHROMIUM",
|
| "invalid format");
|
|
|