Edit

kc3-lang/angle/extensions/ANGLE_translated_shader_source.txt

Branch :

  • Show log

    Commit

  • Author : shannon.woods@transgaming.com
    Date : 2013-02-28 23:04:02
    Hash : 3de0a453
    Message : Updates to extensions from public registry git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1848 736b8ea6-26fd-11df-bfd4-992fa37f6226

  • extensions/ANGLE_translated_shader_source.txt
  • Name
    
        ANGLE_translated_shader_source
    
    Name Strings
    
        GL_ANGLE_translated_shader_source
    
    Contributors
    
        Daniel Koch, TransGaming Inc.
        Gregg Tavares, Google Inc.
        Kenneth Russell, Google Inc.
        Zhenyao Mo, Google Inc.
    
    Contact
    
        Zhenyao Mo, Google Inc. (zmo 'at' google 'dot' com)
    
    Status
    
        Implemented in ANGLE ES2
    
    Version
    
        Last Modified Date: October 5, 2011
        Author Revision: 2
    
    Number
    
        OpenGL ES Extension #113
    
    Dependencies
    
        OpenGL ES 2.0 is required.
    
        The extension is written against the OpenGL ES 2.0 specification.
    
    Overview
    
        WebGL uses the GLSL ES 2.0 spec on all platforms, and translates these
        shaders to the host platform's native language (HLSL, GLSL, and even GLSL
        ES). For debugging purposes, it is useful to be able to examine the shader
        after translation.
    
        This extension addes a new function to query the translated shader source,
        and adds a new enum for GetShaderiv's <pname> parameter to query the
        translated shader source length. 
    
    IP Status
    
        No known IP claims.
    
    New Types
    
        None
    
    New Procedures and Functions
    
        void GetTranslatedShaderSourceANGLE(uint shader, sizei bufsize,
                                            sizei* length, char* source);
    
    New Tokens
    
        Accepted by the <pname> parameter of GetShaderiv:
    
        TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE              0x93A0
    
    Additions to Chapter 6 of the OpenGL ES 2.0 Specification (State and State
    Requests)
    
        Append in the end of the fourth paragraph of section 6.1.8 (Shader and
        Program Queries):
    
        " If <pname> is TRANSLATED_SHADER_LENGTH_ANGLE, the length of the translated
        source string, including a null terminator, is returned. If no source has
        been defined, CompileShader has not been called, or the translation has
        failed for <shader>, zero is returned."
    
        Append after the last paragraph of section 6.1.8 (Shader and Program
        Queries):
    
        "The command
    
          void GetTranslatedShaderSourceANGLE( uint shader, sizei bufSize,
             sizei *length, char *source );
    
        returns in <source> the string making up the translated source code for
        the shader object <shader>. The string <source> will be null terminated.
        The actual number of characters written into <source>, excluding the null
        terminator, is returned in <length>. If <length> is NULL, no length is
        returned. The maximum number of characters that may be written into 
        <source>, including the null terminator, is specified by <bufSize>. The
        string <source> is the translated string of a concatenation of the strings
        passed to the GL using ShaderSource. The length of this translated string
        is given by TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE, which can be queried
        with GetShaderiv.
    
        If no source has been defined, CompileShader has not been called, or the
        translation has failed for <shader>, zero is returned for <length>, and
        an empty string is returned for <source>.
    
        If the value of SHADER_COMPILER is not TRUE, then the error INVALID_-
        OPERATION is generated."
    
    Issues
    
        1) What enum value should be used for TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE?
    
          RESOLVED: The first draft used a temporary enum value. This been replaced
          with a enum allocated from the ANGLE range of GL enums. 
    
    Revision History
    
        Revision 1, 2011/09/29, zmo
          - first draft
        Revision 2, 2011/10/05, dgkoch
          - assigned enum