Bug 30236

Summary: WebGL should do an implicit flush before displaying the drawing buffer
Product: WebKit Reporter: Chris Marrin <cmarrin>
Component: WebGLAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal    
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: PC   
OS: OS X 10.5   
Attachments:
Description Flags
Patch with test oliver: review+

Description Chris Marrin 2009-10-08 14:52:25 PDT
If you look at this content:

    http://people.mozilla.com/~vladimir/webgl/spore/sporeview.html

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.