blob: 9a81db895440b8ff6f4ff6c34f1de109508a740a [file] [log] [blame]
Name
ARB_shader_bit_encoding
Name Strings
GL_ARB_shader_bit_encoding
Contributors
Bill Licea-Kane
Contact
Bill Licea-Kane (bill 'at' amd.com)
Notice
Copyright (c) 2010-2013 The Khronos Group Inc. Copyright terms at
http://www.khronos.org/registry/speccopyright.html
Specification Update Policy
Khronos-approved extension specifications are updated in response to
issues and bugs prioritized by the Khronos OpenGL Working Group. For
extensions which have been promoted to a core Specification, fixes will
first appear in the latest version of that core Specification, and will
eventually be backported to the extension document. This policy is
described in more detail at
https://www.khronos.org/registry/OpenGL/docs/update_policy.php
Status
Complete. Approved by the ARB at the 2010/01/22 F2F meeting.
Approved by the Khronos Board of Promoters on March 10, 2010.
Version
Date: March 21, 2010
Revision: 3
$Id$
Number
ARB Extension #82
Dependencies
This extension is written against Version 1.50 (Revision 09) of the OpenGL
Shading Language Specification.
This extension is based on ARB_gpu_shader5.
Overview
This extension trivially adds built-in functions for getting/setting
the bit encoding for floating-point values in the OpenGL Shading Language.
These functions are pulled out of ARB_gpu_shader5, since support for such
built-in functions exists in current hardware.
IP Status
No known IP claims.
New Procedures and Functions
None
New Tokens
None
Additions to Chapter 8 of the OpenGL Shading Language 1.50 Specification
(Built-in Functions)
Modify Section 8.3, Common Functions, p. 84
(add functions to get/set the bit encoding for floating-point values)
32-bit floating-point data types in the OpenGL shading language are
specified to be encoded according to the IEEE specification for
single-precision floating-point values. The functions below allow shaders
to convert floating-point values to and from signed or unsigned integers
representing their encoding.
To obtain signed or unsigned integer values holding the encoding of a
floating-point value, use:
genIType floatBitsToInt(genType value);
genUType floatBitsToUint(genType value);
Conversions are done on a component-by-component basis.
To obtain a floating-point value corresponding to a signed or unsigned
integer encoding, use:
genType intBitsToFloat(genIType value);
genType uintBitsToFloat(genUType value);
Issues
1) What should this extension be called?
Resolved. Currently ARB_shader_bit_encoding.
2) Are there other built-in functions from ARB_gpu_shader5 that should
be pulled in here?
Resolved. Given the deadline, hearing no additional candidates for
exposing in current hardware, no.
3) Are there other issues?
Resolved. Certainly. They will be found in ARB_gpu_shader5. This
extension will track resolutions of ARB_gpu_shader5. It is a simple
subset of ARB_gpu_shader5.
Revision History
2009-10-08
1, wwlk
first draft
2009-10-22
2, wwlk
Rename to ARB (draft!)
No additional features have been proposed.
2010-03-21
3, pbrown
Update to rename references to "EXT_gpu_shader5" to "ARB_gpu_shader5".