[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Public WebGL] Re: rejecting WEBGL_color_buffer_float and EXT_color_buffer_half_float

> On Feb 6, 2015, at 3:41 PM, Jeff Gilbert <jgilbert@mozilla.com> wrote:
> ...
> Technically speaking, a spec-compliant implementation cannot expose OES_texture_float, allow render-to-RGBA32F, and not support the WEBGL_color_buffer_float extension. That is, Chrome (for instance) already implicitly claims support for all the restrictions of WEBGL_color_buffer_float if they support OES_texture_float and allow render-to-RGBA32F.
> As the spec stands today, Chrome is either out-of-spec in its implicit support of WEBGL_color_buffer_float as invoked by OES_texture_float, or WEBGL_color_buffer_float can be exposed today with no technical issues.
> To be clear, as the specs stand today, WebGL implementations may either:
> * Allow render-to-float32 when WEBGL_color_buffer_float is explicitly activated
> * Allow render-to-float32 when WEBGL_color_buffer_float is implicitly activated by OES_texture_float
> * Not allow render-to-float32.
> That is spec-as-written today.

This is absolutely true. If implementations of OES_texture_float that implicitly allow float rendering were not following what is written in WEBGL_color_buffer_float they would be clamping fragment shader outputs and clear colors. Relaxing these clamps for float buffers and explicitly stating that rendering to RGBA32F is allowed are the only things that the extension does.

The extension is not supportable on mobile because no OpenGL ES 2 GPU supports 32-bit float rendering. But we have examples of other extensions with limited to no support on mobile. It is implementable by and has essentially been implemented by all desktop browsers.

As for ratification, ratification is primarily about IP cross licensing and IP protection. On the native side there are extensions such as EXT_color_buffer_float that Khronos cannot ratify because the members don’t own the necessary IP. However almost all IHVs will support this extension, having licensed the necessary IP from its owner. The WebGL extension that wraps EXT_color_buffer_float doesn’t really contain any IP, so it may be possible for Khronos to ratify that. It is unclear. What is clear is that failure to ratify is insufficient reason to reject an extension.



Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail