When we use Multisampling to antialias our drawing, we have to Blit from the multisample buffers into the FBO used for rendering to screen. The drawing portion of this bug was corrected by Bug 126455. However, WebGL code that used glGetPixels would still fail, because the pixel read operations were being done on a buffer that was only partially initialized. The fix is to make sure our "resolveMultisamplingIfNecessary" operation deactivates the GL_SCISSOR test so that we blit the entire buffer, not just whatever region of memory is activated by the scissor region.
Created attachment 220352 [details] Patch
Attachment 220352 [details] did not pass style-queue: Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/WebCore/ChangeLog', u'Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGL.cpp', '--commit-queue']" exit_code: 1 ERROR: Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:165: Wrong number of spaces before statement. (expected: 8) [whitespace/indent] [4] ERROR: Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:166: Wrong number of spaces before statement. (expected: 8) [whitespace/indent] [4] ERROR: Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:167: Wrong number of spaces before statement. (expected: 8) [whitespace/indent] [4] ERROR: Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:167: Wrong number of spaces before statement. (expected: 8) [whitespace/indent] [4] ERROR: Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:179: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:181: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] Total errors found: 6 in 2 files If any of these errors are false positives, please file a bug against check-webkit-style.
(In reply to comment #2) > Attachment 220352 [details] did not pass style-queue: > > Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/WebCore/ChangeLog', u'Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGL.cpp', '--commit-queue']" exit_code: 1 > ERROR: Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:165: Wrong number of spaces before statement. (expected: 8) [whitespace/indent] [4] > ERROR: Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:166: Wrong number of spaces before statement. (expected: 8) [whitespace/indent] [4] > ERROR: Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:167: Wrong number of spaces before statement. (expected: 8) [whitespace/indent] [4] > ERROR: Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:167: Wrong number of spaces before statement. (expected: 8) [whitespace/indent] [4] > ERROR: Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:179: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] > ERROR: Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:181: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] > Total errors found: 6 in 2 files > More false positives.
Committed r161297: <http://trac.webkit.org/changeset/161297>