Bug 127077 - [WebGL] Resizing and entering/exiting full screen draws garbage
Summary: [WebGL] Resizing and entering/exiting full screen draws garbage
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebGL (show other bugs)
Version: 528+ (Nightly build)
Hardware: All All
: P2 Normal
Assignee: Brent Fulgham
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2014-01-15 17:34 PST by Brent Fulgham
Modified: 2014-01-15 17:47 PST (History)
5 users (show)

See Also:


Attachments
Patch (7.00 KB, patch)
2014-01-15 17:38 PST, Brent Fulgham
dino: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Brent Fulgham 2014-01-15 17:34:09 PST
Several interactions with WebGL content can display "junk" in the GL view. This is most noticeable when resizing the WebGL view, especially when the view fills the entire WebKit frame.

The underlying problem was that the WebGL context was not being marked as needing display during resize events, causing us to attempt to map an improperly sized texture to composite to the screen.
Comment 1 Brent Fulgham 2014-01-15 17:34:25 PST
<rdar://problem/10046766>
Comment 2 Brent Fulgham 2014-01-15 17:38:43 PST
Created attachment 221321 [details]
Patch
Comment 3 WebKit Commit Bot 2014-01-15 17:40:23 PST
Attachment 221321 [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', u'Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp', '--commit-queue']" exit_code: 1
ERROR: Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:111:  Wrong number of spaces before statement. (expected: 12)  [whitespace/indent] [4]
ERROR: Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:111:  Wrong number of spaces before statement. (expected: 16)  [whitespace/indent] [4]
ERROR: Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:131:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:311:  Wrong number of spaces before statement. (expected: 12)  [whitespace/indent] [4]
ERROR: Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:313:  Wrong number of spaces before statement. (expected: 12)  [whitespace/indent] [4]
ERROR: Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:311:  Wrong number of spaces before statement. (expected: 12)  [whitespace/indent] [4]
ERROR: Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:313:  Wrong number of spaces before statement. (expected: 12)  [whitespace/indent] [4]
ERROR: Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:311:  Wrong number of spaces before statement. (expected: 12)  [whitespace/indent] [4]
ERROR: Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:313:  Wrong number of spaces before statement. (expected: 12)  [whitespace/indent] [4]
ERROR: Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:313:  Wrong number of spaces before statement. (expected: 12)  [whitespace/indent] [4]
ERROR: Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:313:  Wrong number of spaces before statement. (expected: 12)  [whitespace/indent] [4]
ERROR: Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:328:  Wrong number of spaces before statement. (expected: 12)  [whitespace/indent] [4]
ERROR: Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:328:  Wrong number of spaces before statement. (expected: 12)  [whitespace/indent] [4]
Total errors found: 13 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 4 Dean Jackson 2014-01-15 17:44:04 PST
Comment on attachment 221321 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=221321&action=review

> Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:286
> +    TemporaryOpenGLSetting scopedDither(GL_SCISSOR_TEST, GL_FALSE);

Ooops!
Comment 5 Brent Fulgham 2014-01-15 17:47:35 PST
Committed r162105: <http://trac.webkit.org/changeset/162105>