If minFilter is not GL_LINEAR_MIPMAP_LINEAR when calling generateMipmap, following draw might show garbage data instead of the proper texture.
Created attachment 72124 [details]
Tested, Worlds of WebGL demo works with this patch in Chromium.
Comment on attachment 72124 [details]
View in context: https://bugs.webkit.org/attachment.cgi?id=72124&action=review
Excellent work tracking this down. There is one error in the ChangeLog though. Please fix before committing.
> + (WebCore::WebGLRenderingContext::generateMipmap): Make sure minFilter is set to LINEAR_MIPMAP_LINEAR before generateMipmap, and after the call, set it back to the original value.
This should be NEAREST_MIPMAP_LINEAR.
Can you please add a reference in the code to the bug report about the driver issue? Without one it’s going to be more difficult to determine whether the underlying issue has been addressed.
(In reply to comment #3)
> Can you please add a reference in the code to the bug report about the driver issue? Without one it’s going to be more difficult to determine whether the underlying issue has been addressed.
OK, I created a bug for adding reference to bug reports.
I want to land this now. I am working on a test case for the bug report.
Committed r70784: <http://trac.webkit.org/changeset/70784>