[Webkit-unassigned] [Bug 56825] [Qt] fast/canvas/webgl/context-attributes-alpha-depth-stencil-antialias.html fails

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Mar 25 04:50:39 PDT 2011


https://bugs.webkit.org/show_bug.cgi?id=56825





--- Comment #11 from Jarkko Sakkinen <jarkko.j.sakkinen at gmail.com>  2011-03-25 04:50:39 PST ---
(In reply to comment #10)
> (In reply to comment #9)
> > (From update of attachment 86508 [details] [details])
> > View in context: https://bugs.webkit.org/attachment.cgi?id=86508&action=review
> > > Source/WebCore/platform/graphics/qt/GraphicsContext3DQt.cpp:451
> > > +    if (!reshapeMainFbo(1, 1)) {
> > 
> > Why do we create the Fbo of size (1, 1) at this stage?
> > 
> > It seems reasonable to me to have an invalid painter state until GraphicsContext3D::reshape() is called with a valid size. Or some initialization of reshapeMainFbo() is needed in the constructor?
> 
> I will verify whether GraphicsContext3D::reshape() is called before
> anything that depends on valid context. 

Of course this doesn't matter because there is proper FBO handle created in constructor. Draw calls will fail with error code. No reshape needed there. 

> 
> > 
> > > Source/WebCore/platform/graphics/qt/GraphicsContext3DQt.cpp:454
> > >          LOG_ERROR("GraphicsContext3D: Wasn't able to create the main framebuffer");
> > >          m_contextValid = false;
> > >      }
> > 
> > Shouldn't this code be part of reshapeMainFbo()?
> > Logging the error and setting m_contextValid = false; seems reasonable to do in the function if the allocation failed.
> 
> You're probably right. I will verify this one too.

m_contextValid flag means whether GL symbols are resolved correctly. For reshaping error log should be enough (does not affect outside of canvas, drawing stop to work).

> 
> > 
> > > Source/WebCore/platform/graphics/qt/GraphicsContext3DQt.cpp:482
> > > +    m_pixels = QImage(width, height, QImage::Format_ARGB32);
> > 
> > I got rid of m_pixels yesterday :)
> 
> Yeah, have to revise this patch against those changes :)
> 
> > 
> > > Source/WebCore/platform/graphics/qt/GraphicsContext3DQt.cpp:494
> > > +    bindRenderbuffer(GraphicsContext3D::RENDERBUFFER, m_depthBuffer);
> > 
> > if !(m_attrs.depth) || QT_OPENGL_ES_2, genRenderbuffers() is not called. So I guess we should not bind the buffer either(?).
> 
> Oops, right. And handle for the renderbuffer should not be created either. Fixing this.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


More information about the webkit-unassigned mailing list