If the gfx device doesn't support GL_OES_packed_depth_stencil, the separate depth and stencil buffers are not generated. Copy what GraphicsContext3DEfl does and apply it in GraphicsContext3DCairo. The Intel gfx driver seem to tolerate unbound renderbuffers, but enabling debugging in Mesa yields an error: $ MESA_DEBUG=1 \ MESA_EXTENSION_OVERRIDE=-GL_OES_packed_depth_stencil ./bin/MiniBrowser http://webglsamples.org/aquarium/aquarium.html Mesa: User error: GL_INVALID_OPERATION in glRenderbufferStorage(no renderbuffer bound)
Created attachment 297917 [details] Patch
Comment on attachment 297917 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=297917&action=review > w/Source/WebCore/ChangeLog:3 > + Ensure depth and stencil renderbuffers are created on GLESv2 Bug should have [Cairo] in the subject since itβs a Cairo-specific patch and bug fix. > w/Source/WebCore/platform/graphics/cairo/GraphicsContext3DCairo.cpp:91 > + , m_depthBuffer(0) > + , m_stencilBuffer(0) Should initialize these in the class definition rather than adding more conditionals to the .cpp file.
Comment on attachment 297917 [details] Patch Yep, we want more things like m_depthBuffer { nullptr }; in the header instead of in the cpp.
Created attachment 304919 [details] Patch for landing
Addressed the review comments. Sorry for taking this over, but I want to finally push it through into the source tree.
Comment on attachment 304919 [details] Patch for landing Clearing flags on attachment: 304919 Committed r214162: <http://trac.webkit.org/changeset/214162>
All reviewed patches have been landed. Closing bug.
You're more than welcome to take over any patch from me. My time to work on WebKit is sadly spotty at best, so I really appreciate any help. Thanks Zan for landing this! :D