• Show log

    Commit

  • Hash : 3f0c4a56
    Author : Jamie Madill
    Date : 2019-01-10T10:20:35

    Vulkan: Faster state transitions.
    
    Implements a transition table from Pipeline Cache entry to
    state change neighbouring Pipeline Cache entries. We use
    a 64-bit mask to do a quick scan over the pipeline desc.
    This ends up being a lot faster than doing a full hash
    and memcmp over the pipeline description.
    
    Note that there could be future optimizations to this design.
    We might keep a hash map of the pipeline transitions instead
    of a list. Or use a sorted list. This could speed up the search
    when there are many transitions for cache entries. Also we could
    skip the transition table and opt to do a full hash when there
    are more than a configurable number of dirty states. This might
    be a bit faster in some cases. Likely this will be something we
    can add performance tests for in the future.
    
    Documentation is also added in a README file for the Vulkan back
    end. This will be extended over time.
    
    Improves performance about 30-35% on the VBO state change test.
    
    Bug: angleproject:3013
    Change-Id: I793f9e3efd8887acf00ad60e4ac2502a54c95dee
    Reviewed-on: https://chromium-review.googlesource.com/c/1369287
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@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
    thodg_m kc3_lang_org thodg_w www_kmx_io thodg thodg_l
    Tags