Closed Bug 1041301 Opened 6 years ago Closed 6 years ago

Raytrace 3D stops working in Nightly33.0a1

Categories

(Core :: Canvas: WebGL, defect)

33 Branch
x86_64
Windows 7
defect
Not set

Tracking

()

RESOLVED FIXED
mozilla34
Tracking Status
firefox32 --- unaffected
firefox33 - affected
firefox34 --- fixed

People

(Reporter: alice0775, Assigned: wlitwinczyk)

References

()

Details

(Keywords: regression)

Build Identifier:
https://hg.mozilla.org/releases/mozilla-aurora/rev/4bea32a42dc7
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:32.0) Gecko/20100101 Firefox/32.0 ID:20140719004001

Steps To Reproduce:
1. Clear cache and Remove cache folder, if necessary
2. Open http://jonathan-olson.com/tesserace/tests/3d.html


Actual Results:
After few minutes, Black rectangle is drawn
And the following error are shown in error console.

Warning: Error: WebGL: drawArrays: incomplete framebuffer
Source File: http://jonathan-olson.com/tesserace/js/tesserace.js
Line: 517


Expected Results:
After few minutes, Raytrace 3D Image should be drawn


Regresson window(m-i)
Good:
https://hg.mozilla.org/mozilla-central/rev/f6912a8e9ccc
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:33.0) Gecko/20100101 Firefox/33.0 ID:20140717040237
Bad:
https://hg.mozilla.org/mozilla-central/rev/f92e4d13b3c6
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:33.0) Gecko/20100101 Firefox/33.0 ID:20140717070418
Pushlog:
http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=f6912a8e9ccc&tochange=f92e4d13b3c6



Regresson window(m-i)
Good:
https://hg.mozilla.org/integration/mozilla-inbound/rev/f41eab62f108
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:33.0) Gecko/20100101 Firefox/33.0 ID:20140717003736
Bad:
https://hg.mozilla.org/integration/mozilla-inbound/rev/727ebe8a8cad
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:33.0) Gecko/20100101 Firefox/33.0 ID:20140717005438
Pushlog:
http://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=f41eab62f108&tochange=727ebe8a8cad

Regressed by: Bug 1030206
Version: 32 Branch → 33 Branch
Oops
Build Identifier:
https://hg.mozilla.org/mozilla-central/rev/35f3fa435d2c
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:33.0) Gecko/20100101 Firefox/33.0 ID:20140719030203
Summary: Raytrace 3D stops working in Aurora32.0a2 and later → Raytrace 3D stops working in Nightly33.0a1
Assignee: nobody → wlitwinczyk
So this actually isn't a regression, only a change in behavior. The workaround in this case is two parts:

1.) In about:config set the 'webgl.enable-draft-extensions' preference to true
2.) Enable the WEBGL_color_buffer_float extension in the webgl application. In this case adding:
> if (gl.getExtension( 'WEBGL_color_buffer_float' ) == null) {
>     failureMessage = 'Required WEBGL_color_buffer_float extension could not be loaded';
>     gl = null;
> }
At line 30 in tesserace.js causes the application to behave as expected

The reason for this behavior change is due to the wording of the OES_texture_float extension:

http://www.khronos.org/registry/webgl/extensions/OES_texture_float/ (emphasis mine)
> Implementations supporting float rendering via this extension will implicitly enable 
> the WEBGL_color_buffer_float extension and follow its requirements. This ensures 
> correct behavior when a texture with pixel type FLOAT is attached to an FBO. 
> ***Although this feature has historically been allowed, new implementations should not 
> implicitly support float rendering and applications should be modified to explicitly 
> enable WEBGL_color_buffer_float.***

Since this is not the first bug about this and it seems like breaking behavior I'll confer with Jeff Gilbert about a course of action once he's back from vacation. In the mean time I'll open a new bug to at least generate a warning about this behavior change, hopefully lessening the confusion.
Let's back out the change of behaviour while we're talking about what the right thing to do is.
(In reply to Milan Sreckovic [:milan] from comment #3)
> Let's back out the change of behaviour while we're talking about what the
> right thing to do is.

I agree with Milan. Lets backout the change. The WEBGL_color_buffer_float extension is a draft extension which leaves a question mark about what to do when draft extensions aren't enabled.
Regression, tracking.

Walter, could you prepare the backout? thanks
Flags: needinfo?(wlitwinczyk)
I apologize, I should have updated this bug. The back-out has already happened:

https://bugzilla.mozilla.org/show_bug.cgi?id=1041830
Status: NEW → RESOLVED
Closed: 6 years ago
Flags: needinfo?(wlitwinczyk)
Resolution: --- → FIXED
It seems that the backout in bug 1041830 have been done only in for 34 (Target Milestone: --- → mozilla34).
So, we need a backout also for 33. Could you request for uplift of the backout? (it is fine in bug 1041830) thanks
Flags: needinfo?(wlitwinczyk)
Target Milestone: --- → mozilla34
Stop tracking. It is fixed.
You need to log in before you can comment on or make changes to this bug.