[webkit-reviews] review requested: [Bug 53201] Make GraphicsContext3D use DrawingBuffer : [Attachment 114198] Patch
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Tue Nov 8 19:37:24 PST 2011
Jeff Timanus <twiz at chromium.org> has asked for review:
Bug 53201: Make GraphicsContext3D use DrawingBuffer
https://bugs.webkit.org/show_bug.cgi?id=53201
Attachment 114198: Patch
https://bugs.webkit.org/attachment.cgi?id=114198&action=review
------- Additional Comments from Jeff Timanus <twiz at chromium.org>
Ok. One more time. Where were we, again?
I re-consolidated the relationships between GraphicsContext3D, DrawingBuffer,
WebGLRenderingContext, and WebGLLayerChromium. The Drawing buffer is now the
main point of interaction between all of these classes.
- GraphicsContext3D no longer caches the platform layer, and only references
DrawingBuffer instances via arguments to the necessary calls.
- WebGLLayerChromium no longer keeps a reference to a GraphicsContext3D.
Instead, it keeps a raw pointer to the DrawingBuffer instance that created it.
A raw pointer is necessary to prevent a reference cycle. The DrawingBuffer
uninstalls itself from the WebGLLayerChromium at destruction.
- WebGLRenderingContext has no interaction with any of the platform layer code.
Only the DrawingBuffer is used to manage the FBO resources used by the
context.
I've tested this change thoroughly.
- Printing of WebGL content functions properly.
- No layout test failures reported on Win7 with platform=chromium-gpu.
- Of the webgl conformance tests, no new failures are introduced. However, on
my local machine, I do observe failures due to multi-sampling behaviour of my
card (HD 5770).
The following tests fail due to inperceptible pixel differences:
conformance/glsl/functions/glsl-function-cross.html
conformance/glsl/functions/glsl-function-dot.html
conformance/glsl/functions/glsl-function-faceforward.html
conformance/glsl/functions/glsl-function-reflect.html
conformance/glsl/functions/glsl-function-smoothstep-float.html
conformance/glsl/functions/glsl-function-smoothstep-gentype.html
The following tests are presently failing in the canary (17.0.932.0), and
also fail with my change (these may also be related to the hardware AA of my
GPU):
conformance/glsl/functions/glsl-function-atan.html
conformance/glsl/functions/glsl-function-atan-xy.html
conformance/glsl/functions/glsl-function-mod-gentype.html
conformance/glsl/misc/struct-nesting-under-maximum.html
conformance/limits/gl-min-uniforms.html
conformance/misc/object-deletion-behaviour.html
conformance/renderbuffers/framebuffer-object-attachment.html
conformance/textures/texture-mips.html
More information about the webkit-reviews
mailing list