Float16Array

Kenneth Russell kbr at google.com
Wed May 17 21:49:51 UTC 2017


@moriken awesome work -- looks like a solid implementation.

I'm torn about whether this should be subsumed into ECMAScript. Doing so
implies that all ES engines are going to have to incorporate a significant
amount of code to convert to and from half-floats. Also, the tests will
have to be a lot more thorough then they might otherwise be. If compiling
pure ES code can achieve most of the efficiency, I'd advocate for leaving
this as a library. In C/C++, developers use libraries for this purpose.

-Ken



On Wed, May 17, 2017 at 5:28 AM, Florian Bösch <pyalot at gmail.com> wrote:

> Also keep in mind that Float16 is the only viable format for some
> operations. Mobiles in particular may not support any or a combination of:
>
>    - Basic (nearest, clamped, non mipmapped) Float32 textures
>    - Linearly interpolating Float32 textures
>    - Rendering to Float32 textures
>    - Reading back Float32 textures
>    - Repeating (ST) Float32 textures
>    - Mipmapping Float32 textures
>    - Not clamping (numerically between 0 and 1) Float32 textures
>
> If your usecase requires any of these capabilities and you need to either
> upload or readback the data, then there is no primitive you can use to
> perform computations with the data in JS. The present day way this is
> handled is you upload/readback UInt16 and then have conversion routines
> that convert these to floating point values you can work with on the CPU or
> convert back for use by the GPU.
>
>
> On Wed, May 17, 2017 at 2:15 PM, T.J. Crowder <
> tj.crowder at farsightsoftware.com> wrote:
>
>> I'd missed that this was the continuation of a thread. Florian Bösch
>> [started it](https://esdiscuss.org/topic/float16array#content-0) with
>> interop in mind, in fact. So that makes sense.
>>
>> -- T.J. Crowder
>>
>>
>>
>> On Wed, May 17, 2017 at 1:12 PM, T.J. Crowder <
>> tj.crowder at farsightsoftware.com> wrote:
>>
>>> On Wed, May 17, 2017 at 1:05 PM, Leo Balter <leonardo.balter at gmail.com>
>>> wrote:
>>>
>>>> The current spec is based on IEEE 754 and matches the floating point
>>>> specs. What would Float16 be based on?
>>>>
>>>
>>> There's a binary16 format specified by IEEE-754 2008.
>>>
>>> But I agree with the "why" comment. 16-bit (aka "half precision") binary
>>> floating point is not very useful here in 2017 except for interop (森建 -
>>> is interop your motivation?)...
>>>
>>> I'd be much more interested to see support for the "new" (nine years
>>> ago) decimal formats.
>>>
>>> -- T.J. Crowder
>>>
>>
>>
>> _______________________________________________
>> es-discuss mailing list
>> es-discuss at mozilla.org
>> https://mail.mozilla.org/listinfo/es-discuss
>>
>>
>
> _______________________________________________
> es-discuss mailing list
> es-discuss at mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20170517/b96ee53b/attachment.html>


More information about the es-discuss mailing list