summaryrefslogtreecommitdiffstats
path: root/gpu
diff options
context:
space:
mode:
authorkbr@chromium.org <kbr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-10-20 23:37:58 +0000
committerkbr@chromium.org <kbr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-10-20 23:37:58 +0000
commit56cbcc3ce45c1b68f9fbdbed6244bebe1f203403 (patch)
treec3c66824775ceedc5a0782417d591b64d576afb3 /gpu
parent33152acc75625b3008f2447635118fd2be3fc8e1 (diff)
downloadchromium_src-56cbcc3ce45c1b68f9fbdbed6244bebe1f203403.zip
chromium_src-56cbcc3ce45c1b68f9fbdbed6244bebe1f203403.tar.gz
chromium_src-56cbcc3ce45c1b68f9fbdbed6244bebe1f203403.tar.bz2
Adjust workaround for mipmap-related OpenGL implementation bug on Mac OS X.
BUG=101105 TEST=manually ran WebGL conformance test textures/texture-mips.html on NVIDIA and AMD GPUs on Mac OS Review URL: http://codereview.chromium.org/8365018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106634 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'gpu')
-rw-r--r--gpu/command_buffer/service/gles2_cmd_decoder.cc7
1 files changed, 5 insertions, 2 deletions
diff --git a/gpu/command_buffer/service/gles2_cmd_decoder.cc b/gpu/command_buffer/service/gles2_cmd_decoder.cc
index 20d97bb..081d371 100644
--- a/gpu/command_buffer/service/gles2_cmd_decoder.cc
+++ b/gpu/command_buffer/service/gles2_cmd_decoder.cc
@@ -3008,8 +3008,11 @@ void GLES2DecoderImpl::DoGenerateMipmap(GLenum target) {
}
// Workaround for Mac driver bug. In the large scheme of things setting
// glTexParamter twice for glGenerateMipmap is probably not a lage performance
- // hit so there's probably no need to make this conditional.
- glTexParameteri(target, GL_TEXTURE_MIN_FILTER, GL_NEAREST_MIPMAP_LINEAR);
+ // hit so there's probably no need to make this conditional. The bug appears
+ // to be that if the filtering mode is set to something that doesn't require
+ // mipmaps for rendering, or is never set to something other than the default,
+ // then glGenerateMipmap misbehaves.
+ glTexParameteri(target, GL_TEXTURE_MIN_FILTER, GL_NEAREST_MIPMAP_NEAREST);
glGenerateMipmapEXT(target);
glTexParameteri(target, GL_TEXTURE_MIN_FILTER, info->min_filter());
}