Thanks for the feedback! To clarify, my proposal is aimed at TypedArrays, not the WebGL core spec. As I see it, having the necessary datatypes in place right from the start will reduce fragmentation of the TypedArray API in the future.
Granted -- fp16 is not yet a first-class citizen on most C compilers, so it will have to be emulated using fp32 or plain integers. Luckily there are several open-source libraries available for that, see for instance www.openexr.com. Besides, we don’t need a full-blown math library here, just the conversion functions to/from fp32, which are almost trivial to write.
I realize I should’ve been more careful in using the term “bandwidth”, because I meant memory bandwidth, not network bandwidth. Memory bandwidth usage has a big impact on performance in any modern GPU, and similarly on power consumption in any embedded GPU. Memory bandwidth savings are the main reason why half-precision floats have been universally adopted in both desktop and mobile GPUs, although the space savings are a nice bonus.
On Mon, May 10, 2010 at 8:44 AM, <email@example.com> wrote:
I’d like to propose a new feature for TypedArrays, namely support for the ‘half’ datatype, also known as fp16.
I think it's probably a good idea to add 'half' to the
TypedArrays spec but just to make it clear there are a bunch of issues tied up
here that should be separated