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