• Show log

    Commit

  • Hash : c8bee335
    Author : Jamie Madill
    Date : 2017-09-20T15:42:09

    D3D11: Implement a dirty bit for Shaders.
    
    This allows us to skip calling the dynamic shader generation and
    program shader application when there haven't been any state
    changes. It builds on the previous work that immediately update
    state caches in the VertexArray11 and Framebuffer11. It should
    improve performance in draw-call limited applications by a small
    margin.
    
    For reference, here are the conditions under which the shaders
    are refreshed:
    
    1. Directly changing the program executable
    2. The vertex attribute layout
    3. The fragment shader's rendertargets
    4. Enabling/disabling rasterizer discard
    5. Enabling/disabling transform feedback
    6. An internal shader was used
    7. Drawing with/without point sprites
    
    Improves the score of the draw call stress test for the D3D11
    back-end (with null driver) by about 40% on my test machine.
    
    The 9_3 back-end seems to have an issue where the getSRV call
    to a texture storage can change the "use level zero workaround"
    status of the storage, which in turn will invalidate the state.
    Since this is localized to 9_3 only, put in a hack to disable
    an assert check for now.
    
    BUG=angleproject:2151
    
    Change-Id: Idbd0a31376691b33972e735d5833a9b02a8a4aa9
    Reviewed-on: https://chromium-review.googlesource.com/666278
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@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