• Show log

    Commit

  • Hash : 6b3c1db5
    Author : Austin Kinross
    Date : 2015-12-18T14:01:46

    Implement EGL_experimental_present_path_angle
    
    This allows ANGLE to render directly onto a D3D swapchain in the correct
    orientation when using the D3D11 renderer.
    
    The trick is to add an extra uniform to each shader which takes either
    the value +1.0 or -1.0. When rendering to a texture, ANGLE sets this
    value to -1.0. When rendering to the default framebuffer, ANGLE sets
    this value to +1.0. ANGLE multiplies vertex positions by this value in
    the VS to invert rendering when appropriate. It also corrects other
    state (e.g. viewport/scissor rect) and shader built-in values
    (e.g. gl_FragCoord).
    
    This saves a substantial amount of GPU time and lowers power
    consumption. For example, the old method (where ANGLE renders all
    content onto an offscreen texture, and then copies/inverts this onto the
    swapchain at eglSwapBuffers() time) uses about 20% of the GPU each frame
    on a Lumia 630.
    
    Verification:
    + dEQP GL ES2 tests pass when "present path fast" is enabled
    + all ANGLE_end2end_tests pass when "present path fast" is enabled
    
    BUG=angleproject:1219
    
    Change-Id: Ib6eeea46bafa6ebce4adada0ae9db3a433b8fc4c
    Reviewed-on: https://chromium-review.googlesource.com/321360
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tryjob-Request: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    

  • 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