Closed Bug 1525480 Opened 6 years ago Closed 6 years ago

RGB16F driver bug on Mac+Intel in conformance/extensions/oes-texture-half-float.html

Categories

(Core :: Graphics: CanvasWebGL, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla67
Tracking Status
firefox67 --- fixed

People

(Reporter: jgilbert, Assigned: jgilbert)

References

Details

(Whiteboard: gfx-noted)

Attachments

(2 files)

If an RGB16F texture is ever cleared to ClearColor(0,0,0,0) or (0,0,0,1), it will later sample as if it were RGBA16F with (R,G,B,A) instead of (R,G,B,1.0).

Even setting the texture swizzle channels to R,G,B,ONE doesn't fix it.

Using ClearColor(0,0,0,0.5) (at least) avoids this driver bug.

Attached file test_rgb16f_control.solo.cpp (deleted) —

It's pretty wild.

Fortunately, RGB16F is only optionally color-renderable in webgl1's EXT_color_buffer_half_float, and is explicitly not color-renderable in webgl2's EXT_color_buffer_float.

For portability's sake, we should try never allowing RGB16F to be color-renderable.

There's a crazy driver bug here on Mac+Intel, but if we're forbidding it
there, why not everywhere.
It's optional in EXT_color_buffer_half_float for webgl1, and no allowed by
EXT_color_buffer_float for webgl2 anyway.

MozReview-Commit-ID: kI9DUj8TU8

Pushed by jgilbert@mozilla.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/af847dfb3820 Don't mark RGB16F renderable in EXT_color_buffer_half_float. r=lsalzman
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla67
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: