diff options
author | zmo@chromium.org <zmo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-03-20 21:15:43 +0000 |
---|---|---|
committer | zmo@chromium.org <zmo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-03-20 21:15:43 +0000 |
commit | 58b75f9a35f3c4d41cfee6e580591d48b6856670 (patch) | |
tree | 7ba7d96144b3b5cf4ae77dce62ed47d1d0008b88 /gpu | |
parent | 8ce26780220a53ad1b7f4ecf8c0c01730a33f917 (diff) | |
download | chromium_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.cc | 46 |
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; } } } |