• Show log

    Commit

  • Hash : 853dc1ab
    Author : Olli Etuaho
    Date : 2014-11-06T17:25:48

    Add mediump and lowp precision emulation support for GLSL output
    
    This implements the rounding as specified in WEBGL_debug_shader_precision
    extension proposal for desktop GLSL and ESSL output. The bulk of the new
    functionality is added in the form of a new EmulatePrecision AST
    traverser, which inserts calls to the rounding routines angle_frm and
    angle_frl in the appropriate places, and writes the rounding routines
    themselves to the shader.
    
    Compound assignments which are subject to emulation are transformed from
    "x op= y" to "angle_compound_op_frm(x, y)", a call to a function which
    does the appropriate rounding and places the result of the operation to
    x.
    
    The angle_ prefixed names should not clash with user-defined names if
    name hashing is on. If name hashing is not on, the precision emulation
    can only be used if the angle_ prefix is reserved for use by ANGLE.
    
    To support the rounding routines in output, a new operator type is added
    for internal helper function calls, which are not subject to name
    hashing.
    
    In ESSL output, all variables are forced to highp when precision
    emulation is on to ensure consistency with how precision emulation
    performs on desktop.
    
    Comprehensive tests for the added code generation are included.
    
    BUG=angle:787
    
    Change-Id: I0d0ad9327888f803a32e79b64b08763c654c913b
    Reviewed-on: https://chromium-review.googlesource.com/229631
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    

  • Properties

  • Git HTTP https://git.kmx.io/kc3-lang/angle.git
    Git SSH git@git.kmx.io:kc3-lang/angle.git
    Public access ? public
    Description

    A conformant OpenGL ES implementation for Windows, Mac, Linux, iOS and Android.

    Homepage

    Github

    Users
    kc3_lang_org thodg_w www_kmx_io thodg_l thodg thodg_m
    Tags