summaryrefslogtreecommitdiffstats
path: root/gpu
diff options
context:
space:
mode:
authorzmo@chromium.org <zmo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-03-20 21:15:43 +0000
committerzmo@chromium.org <zmo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-03-20 21:15:43 +0000
commit58b75f9a35f3c4d41cfee6e580591d48b6856670 (patch)
tree7ba7d96144b3b5cf4ae77dce62ed47d1d0008b88 /gpu
parent8ce26780220a53ad1b7f4ecf8c0c01730a33f917 (diff)
downloadchromium_src-58b75f9a35f3c4d41cfee6e580591d48b6856670.zip
chromium_src-58b75f9a35f3c4d41cfee6e580591d48b6856670.tar.gz
chromium_src-58b75f9a35f3c4d41cfee6e580591d48b6856670.tar.bz2
Fix OES_texture_float test failure.
We need to map the internal_format on desktop GL. BUG=118091 TEST=webgl conformance tests R=gman Review URL: https://chromiumcodereview.appspot.com/9752013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@127784 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'gpu')
-rw-r--r--gpu/command_buffer/service/gles2_cmd_decoder.cc46
1 files changed, 38 insertions, 8 deletions
diff --git a/gpu/command_buffer/service/gles2_cmd_decoder.cc b/gpu/command_buffer/service/gles2_cmd_decoder.cc
index 3811ac8..6021a84 100644
--- a/gpu/command_buffer/service/gles2_cmd_decoder.cc
+++ b/gpu/command_buffer/service/gles2_cmd_decoder.cc
@@ -184,16 +184,46 @@ static void WrappedTexImage2D(
GLenum gl_internal_format = GetTexInternalFormat(internal_format);
if (gfx::GetGLImplementation() != gfx::kGLImplementationEGLGLES2) {
if (type == GL_FLOAT) {
- if (format == GL_RGBA) {
- gl_internal_format = GL_RGBA32F_ARB;
- } else if (format == GL_RGB) {
- gl_internal_format = GL_RGB32F_ARB;
+ switch (format) {
+ case GL_RGBA:
+ gl_internal_format = GL_RGBA32F_ARB;
+ break;
+ case GL_RGB:
+ gl_internal_format = GL_RGB32F_ARB;
+ break;
+ case GL_LUMINANCE_ALPHA:
+ gl_internal_format = GL_LUMINANCE_ALPHA32F_ARB;
+ break;
+ case GL_LUMINANCE:
+ gl_internal_format = GL_LUMINANCE32F_ARB;
+ break;
+ case GL_ALPHA:
+ gl_internal_format = GL_ALPHA32F_ARB;
+ break;
+ default:
+ NOTREACHED();
+ break;
}
} else if (type == GL_HALF_FLOAT_OES) {
- if (format == GL_RGBA) {
- gl_internal_format = GL_RGBA16F_ARB;
- } else if (format == GL_RGB) {
- gl_internal_format = GL_RGB16F_ARB;
+ switch (format) {
+ case GL_RGBA:
+ gl_internal_format = GL_RGBA16F_ARB;
+ break;
+ case GL_RGB:
+ gl_internal_format = GL_RGB16F_ARB;
+ break;
+ case GL_LUMINANCE_ALPHA:
+ gl_internal_format = GL_LUMINANCE_ALPHA16F_ARB;
+ break;
+ case GL_LUMINANCE:
+ gl_internal_format = GL_LUMINANCE16F_ARB;
+ break;
+ case GL_ALPHA:
+ gl_internal_format = GL_ALPHA16F_ARB;
+ break;
+ default:
+ NOTREACHED();
+ break;
}
}
}