Bug 30236 - WebGL should do an implicit flush before displaying the drawing buffer
Summary: WebGL should do an implicit flush before displaying the drawing buffer
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebGL (show other bugs)
Version: 528+ (Nightly build)
Hardware: PC OS X 10.5
: P2 Normal
Assignee: Nobody
Depends on:
Reported: 2009-10-08 14:52 PDT by Chris Marrin
Modified: 2009-11-06 16:55 PST (History)
0 users

See Also:

Patch with test (43.34 KB, patch)
2009-10-12 12:10 PDT, Chris Marrin
oliver: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Chris Marrin 2009-10-08 14:52:25 PDT
If you look at this content:


with a WebKit nightly with WebGL turned on, it doesn't display. This is because there is not call to flush() after the call. This should happen implicitly in our implementation
Comment 1 Chris Marrin 2009-10-12 12:10:08 PDT
Created attachment 41054 [details]
Patch with test

This patch not only fixes the bug, but also implements readPixels and fixes a bug in indexing into the CanvasArray subclasses. These were needed in order to write a testcase for the bug.
Comment 2 Chris Marrin 2009-10-12 13:01:29 PDT
Sending        LayoutTests/ChangeLog
Adding         LayoutTests/fast/canvas/webgl/resources/utils3d.js
Adding         LayoutTests/fast/canvas/webgl/triangle-expected.txt
Adding         LayoutTests/fast/canvas/webgl/triangle.html
Sending        WebCore/ChangeLog
Sending        WebCore/WebCore.xcodeproj/project.pbxproj
Sending        WebCore/bindings/js/JSCanvasArrayCustom.cpp
Sending        WebCore/html/canvas/CanvasArray.h
Sending        WebCore/html/canvas/CanvasArray.idl
Sending        WebCore/html/canvas/CanvasByteArray.h
Sending        WebCore/html/canvas/CanvasFloatArray.h
Sending        WebCore/html/canvas/CanvasIntArray.h
Sending        WebCore/html/canvas/CanvasRenderingContext3D.cpp
Sending        WebCore/html/canvas/CanvasRenderingContext3D.h
Sending        WebCore/html/canvas/CanvasRenderingContext3D.idl
Sending        WebCore/html/canvas/CanvasShortArray.h
Sending        WebCore/html/canvas/CanvasUnsignedByteArray.h
Sending        WebCore/html/canvas/CanvasUnsignedIntArray.h
Sending        WebCore/html/canvas/CanvasUnsignedShortArray.h
Sending        WebCore/platform/graphics/GraphicsContext3D.h
Sending        WebCore/platform/graphics/mac/Canvas3DLayer.mm
Sending        WebCore/platform/graphics/mac/GraphicsContext3DMac.cpp
Transmitting file data ......................
Committed revision 49447.