Bug 696495 - set tex min filter before generateMipmap calls, to work around driver bugs - r=jgilbert, a=akeybl

This commit is contained in:
Benoit Jacob 2012-04-19 23:28:01 -04:00
parent 2f80ad568c
commit 208cb56f14
2 changed files with 13 additions and 3 deletions

View File

@ -1933,7 +1933,19 @@ WebGLContext::GenerateMipmap(WebGLenum target)
tex->SetGeneratedMipmap();
MakeContextCurrent();
gl->fGenerateMipmap(target);
if (gl->WorkAroundDriverBugs()) {
// bug 696495 - to work around failures in the texture-mips.html test on various drivers, we
// set the minification filter before calling glGenerateMipmap. This should not carry a significant performance
// overhead so we do it unconditionally.
//
// note that the choice of GL_NEAREST_MIPMAP_NEAREST really matters. See Chromium bug 101105.
gl->fTexParameteri(target, LOCAL_GL_TEXTURE_MIN_FILTER, LOCAL_GL_NEAREST_MIPMAP_NEAREST);
gl->fGenerateMipmap(target);
gl->fTexParameteri(target, LOCAL_GL_TEXTURE_MIN_FILTER, tex->MinFilter());
} else {
gl->fGenerateMipmap(target);
}
return NS_OK;
}

View File

@ -1,4 +1,2 @@
conformance/glsl/misc/glsl-function-nodes.html
conformance/programs/program-test.html
conformance/textures/texture-mips.html
conformance/textures/texture-npot.html