15bd8deadSopenharmony_ciName
25bd8deadSopenharmony_ci
35bd8deadSopenharmony_ci    ARB_shader_bit_encoding
45bd8deadSopenharmony_ci
55bd8deadSopenharmony_ciName Strings
65bd8deadSopenharmony_ci
75bd8deadSopenharmony_ci    GL_ARB_shader_bit_encoding
85bd8deadSopenharmony_ci
95bd8deadSopenharmony_ciContributors
105bd8deadSopenharmony_ci
115bd8deadSopenharmony_ci    Bill Licea-Kane
125bd8deadSopenharmony_ci
135bd8deadSopenharmony_ciContact
145bd8deadSopenharmony_ci
155bd8deadSopenharmony_ci    Bill Licea-Kane (bill 'at' amd.com)
165bd8deadSopenharmony_ci
175bd8deadSopenharmony_ciNotice
185bd8deadSopenharmony_ci
195bd8deadSopenharmony_ci    Copyright (c) 2010-2013 The Khronos Group Inc. Copyright terms at
205bd8deadSopenharmony_ci        http://www.khronos.org/registry/speccopyright.html
215bd8deadSopenharmony_ci
225bd8deadSopenharmony_ciSpecification Update Policy
235bd8deadSopenharmony_ci
245bd8deadSopenharmony_ci    Khronos-approved extension specifications are updated in response to
255bd8deadSopenharmony_ci    issues and bugs prioritized by the Khronos OpenGL Working Group. For
265bd8deadSopenharmony_ci    extensions which have been promoted to a core Specification, fixes will
275bd8deadSopenharmony_ci    first appear in the latest version of that core Specification, and will
285bd8deadSopenharmony_ci    eventually be backported to the extension document. This policy is
295bd8deadSopenharmony_ci    described in more detail at
305bd8deadSopenharmony_ci        https://www.khronos.org/registry/OpenGL/docs/update_policy.php
315bd8deadSopenharmony_ci
325bd8deadSopenharmony_ciStatus
335bd8deadSopenharmony_ci
345bd8deadSopenharmony_ci    Complete. Approved by the ARB at the 2010/01/22 F2F meeting.
355bd8deadSopenharmony_ci    Approved by the Khronos Board of Promoters on March 10, 2010.
365bd8deadSopenharmony_ci
375bd8deadSopenharmony_ciVersion
385bd8deadSopenharmony_ci
395bd8deadSopenharmony_ci    Date: March 21, 2010
405bd8deadSopenharmony_ci    Revision: 3
415bd8deadSopenharmony_ci    $Id$
425bd8deadSopenharmony_ci
435bd8deadSopenharmony_ciNumber
445bd8deadSopenharmony_ci
455bd8deadSopenharmony_ci    ARB Extension #82
465bd8deadSopenharmony_ci
475bd8deadSopenharmony_ciDependencies
485bd8deadSopenharmony_ci
495bd8deadSopenharmony_ci    This extension is written against Version 1.50 (Revision 09) of the OpenGL
505bd8deadSopenharmony_ci    Shading Language Specification.
515bd8deadSopenharmony_ci
525bd8deadSopenharmony_ci    This extension is based on ARB_gpu_shader5.
535bd8deadSopenharmony_ci
545bd8deadSopenharmony_ciOverview
555bd8deadSopenharmony_ci
565bd8deadSopenharmony_ci    This extension trivially adds built-in functions for getting/setting
575bd8deadSopenharmony_ci    the bit encoding for floating-point values in the OpenGL Shading Language.
585bd8deadSopenharmony_ci
595bd8deadSopenharmony_ci    These functions are pulled out of ARB_gpu_shader5, since support for such
605bd8deadSopenharmony_ci    built-in functions exists in current hardware.
615bd8deadSopenharmony_ci
625bd8deadSopenharmony_ciIP Status
635bd8deadSopenharmony_ci
645bd8deadSopenharmony_ci    No known IP claims.
655bd8deadSopenharmony_ci
665bd8deadSopenharmony_ciNew Procedures and Functions
675bd8deadSopenharmony_ci
685bd8deadSopenharmony_ci    None
695bd8deadSopenharmony_ci
705bd8deadSopenharmony_ciNew Tokens
715bd8deadSopenharmony_ci
725bd8deadSopenharmony_ci    None
735bd8deadSopenharmony_ci
745bd8deadSopenharmony_ciAdditions to Chapter 8 of the OpenGL Shading Language 1.50 Specification
755bd8deadSopenharmony_ci(Built-in Functions)
765bd8deadSopenharmony_ci    
775bd8deadSopenharmony_ci
785bd8deadSopenharmony_ci    Modify Section 8.3, Common Functions, p. 84
795bd8deadSopenharmony_ci
805bd8deadSopenharmony_ci    (add functions to get/set the bit encoding for floating-point values)
815bd8deadSopenharmony_ci
825bd8deadSopenharmony_ci    32-bit floating-point data types in the OpenGL shading language are
835bd8deadSopenharmony_ci    specified to be encoded according to the IEEE specification for
845bd8deadSopenharmony_ci    single-precision floating-point values.  The functions below allow shaders
855bd8deadSopenharmony_ci    to convert floating-point values to and from signed or unsigned integers
865bd8deadSopenharmony_ci    representing their encoding.
875bd8deadSopenharmony_ci
885bd8deadSopenharmony_ci    To obtain signed or unsigned integer values holding the encoding of a
895bd8deadSopenharmony_ci    floating-point value, use:
905bd8deadSopenharmony_ci
915bd8deadSopenharmony_ci      genIType floatBitsToInt(genType value);
925bd8deadSopenharmony_ci      genUType floatBitsToUint(genType value);
935bd8deadSopenharmony_ci
945bd8deadSopenharmony_ci    Conversions are done on a component-by-component basis.
955bd8deadSopenharmony_ci
965bd8deadSopenharmony_ci    To obtain a floating-point value corresponding to a signed or unsigned
975bd8deadSopenharmony_ci    integer encoding, use:
985bd8deadSopenharmony_ci
995bd8deadSopenharmony_ci      genType intBitsToFloat(genIType value);
1005bd8deadSopenharmony_ci      genType uintBitsToFloat(genUType value);
1015bd8deadSopenharmony_ci
1025bd8deadSopenharmony_ci
1035bd8deadSopenharmony_ci
1045bd8deadSopenharmony_ciIssues
1055bd8deadSopenharmony_ci
1065bd8deadSopenharmony_ci    1) What should this extension be called?
1075bd8deadSopenharmony_ci
1085bd8deadSopenharmony_ci    Resolved.  Currently ARB_shader_bit_encoding.
1095bd8deadSopenharmony_ci
1105bd8deadSopenharmony_ci    2) Are there other built-in functions from ARB_gpu_shader5 that should
1115bd8deadSopenharmony_ci    be pulled in here?
1125bd8deadSopenharmony_ci
1135bd8deadSopenharmony_ci    Resolved.  Given the deadline, hearing no additional candidates for
1145bd8deadSopenharmony_ci    exposing in current hardware, no.
1155bd8deadSopenharmony_ci
1165bd8deadSopenharmony_ci    3) Are there other issues?
1175bd8deadSopenharmony_ci
1185bd8deadSopenharmony_ci    Resolved.  Certainly.  They will be found in ARB_gpu_shader5.  This
1195bd8deadSopenharmony_ci    extension will track resolutions of ARB_gpu_shader5.  It is a simple
1205bd8deadSopenharmony_ci    subset of ARB_gpu_shader5.
1215bd8deadSopenharmony_ci 
1225bd8deadSopenharmony_ci
1235bd8deadSopenharmony_ciRevision History
1245bd8deadSopenharmony_ci
1255bd8deadSopenharmony_ci    2009-10-08
1265bd8deadSopenharmony_ci    1, wwlk
1275bd8deadSopenharmony_ci    first draft
1285bd8deadSopenharmony_ci
1295bd8deadSopenharmony_ci    2009-10-22
1305bd8deadSopenharmony_ci    2, wwlk
1315bd8deadSopenharmony_ci    Rename to ARB (draft!)
1325bd8deadSopenharmony_ci    No additional features have been proposed.
1335bd8deadSopenharmony_ci
1345bd8deadSopenharmony_ci    2010-03-21
1355bd8deadSopenharmony_ci    3, pbrown
1365bd8deadSopenharmony_ci    Update to rename references to "EXT_gpu_shader5" to "ARB_gpu_shader5".
137