Closed Bug 677543 Opened 13 years ago Closed 13 years ago

Not clearing WebGL framebuffer in teapot demo

Categories

(Core :: Graphics: CanvasWebGL, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla10

People

(Reporter: bjacob, Assigned: bjacob)

References

Details

Attachments

(2 files)

This sample is not clearing the buffer, it is being composited, FF is not clearing the buffer. http://greggman.com/downloads/webgl-sdk/google/shiny-teapot/index-no-clear.html In this demo, Firefox behaves as if preserveDrawingBuffer=true except that's not the case. We need to refine the conformance test, https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/tests/conformance/buffer-preserve-test.html as we currently pass it despite having this bug.
So, the bug is two-fold. 1. We rely on the wrong idea that WebGLContext::GetCanvasLayer gets called everytime the canvas is composited. That's not the case. No such function exists. We need to add one, maybe call it Presented(). Patch coming. 2. Additionally, we were not properly handling early return paths in GetCanvasLayer. Addressing that alone (marking as presented at the beginning of GetCanvasLayer) already fixes bug 689136.
Khronos bug with patch for buffer-preserve-test to catch this bug: http://www.khronos.org/bugzilla/show_bug.cgi?id=539
Attached patch WIP patch (deleted) — Splinter Review
This one works everywhere and is really minimal. I wish I had known earlier about this DidTransaction callback thing. It was introduced in a commit by Roc back in March, bug 622072, http://hg.mozilla.org/mozilla-central/rev/69a9aa30f2eff07d0dbf973fd72931a50b3dbb83 Informing me of this would have spared me a lot of time!
Attachment #570505 - Flags: review?(jgilbert)
Depends on: 622072
Comment on attachment 570505 [details] [diff] [review] The I-wish-I-had-known-earlier patch Review of attachment 570505 [details] [diff] [review]: ----------------------------------------------------------------- Looks good. You might add a comment to note that the function is called every time, so it's more clear why the code's here.
Attachment #570505 - Flags: review?(jgilbert) → review+
Assignee: nobody → bjacob
Status: NEW → RESOLVED
Closed: 13 years ago
Flags: in-testsuite+
Resolution: --- → FIXED
Target Milestone: --- → mozilla10
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: