Bug 60896 - [chromium] FRAMEBUFFER_INCOMPLETE_ATTACHMENT with DrawingBuffer
Summary: [chromium] FRAMEBUFFER_INCOMPLETE_ATTACHMENT with DrawingBuffer
Status: RESOLVED WORKSFORME
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebGL (show other bugs)
Version: 528+ (Nightly build)
Hardware: PC Windows 7
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-05-16 09:38 PDT by Marshall Greenblatt
Modified: 2013-04-11 13:53 PDT (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Marshall Greenblatt 2011-05-16 09:38:20 PDT
I'm using WebGraphicsContext3DInProcessImpl in a single-process application with kGLImplementationDesktopGL, Chromium revision 85124 and WebKit revision 86433 (Windows 7 64bit, NVIDIA GeForce GTX 260 Driver Date: 4/3/2010 Version: 8.17.11.9745). I'm currently getting a return value of FRAMEBUFFER_INCOMPLETE_ATTACHMENT from the call to checkFramebufferStatus in third_party/WebKit/Source/WebCore/platform/graphics/gpu/DrawingBuffer.cpp on line 254. This problem occurs with the following accelerated 2D canvas example:

http://mudcu.be/labs/JS1k/BreathingGalaxies.html

Here's the partial call stack:

>    libcef.dll!WebCore::DrawingBuffer::reset(const WebCore::IntSize & newSize={...})  Line 255    C++
     libcef.dll!WebCore::DrawingBuffer::DrawingBuffer(WebCore::GraphicsContext3D * context=0x04a47298, const WebCore::IntSize & size={...}, bool multisampleExtensionSupported=false, bool packedDepthStencilExtensionSupported=false)  Line 103    C++
     libcef.dll!WebCore::DrawingBuffer::create(WebCore::GraphicsContext3D * context=0x04a47298, const WebCore::IntSize & size={...})  Line 53 + 0x2d bytes    C++
     libcef.dll!WebCore::GraphicsContext3D::createDrawingBuffer(const WebCore::IntSize & size={...})  Line 62 + 0x11 bytes    C++
     libcef.dll!WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D(WebCore::HTMLCanvasElement * canvas=0x004e95d0, bool usesCSSCompatibilityParseMode=false, bool usesDashboardCompatibilityMode=false)  Line 140 + 0x3b bytes    C++
     libcef.dll!WebCore::CanvasRenderingContext2D::create(WebCore::HTMLCanvasElement * canvas=0x004e95d0, bool usesCSSCompatibilityParseMode=false, bool usesDashboardCompatibilityMode=false)  Line 68 + 0x2c bytes    C++
     libcef.dll!WebCore::HTMLCanvasElement::getContext(const WTF::String & type={...}, WebCore::CanvasContextAttributes * attrs=0x00000000)  Line 167 + 0x25 bytes    C++
     libcef.dll!WebCore::V8HTMLCanvasElement::getContextCallback(const v8::Arguments & args={...})  Line 85 + 0x15 bytes    C++
     libcef.dll!v8::internal::HandleApiCallHelper<0>(v8::internal::`anonymous-namespace'::BuiltinArguments<1> args={...}, v8::internal::Isolate * isolate=0x00235f70)  Line 1126 + 0x13 bytes    C++

Both WebGL and accelerated 3D CSS are working correctly at Chromium revision 85124 (they don't appear to use the DrawingBuffer class). Accelerated 2D canvas was working correctly back in Chromium revision 80310.

This problem does not occur with the kGLImplementationEGLGLES2 GL implementation.