• Show log

    Commit

  • Hash : f44a6fd2
    Author : Cody Northrop
    Date : 2021-11-18T20:15:31

    GLES1: Hard code integer values in the ubershader
    
    This CL continues the process of removing uniform values from
    the GLES1 ubershader to increase speed on mobile platforms.
    The first phase removed bools 2091451e.
    
    We've identified integers (enums) as providing the biggest bang for
    buck to optimize speed while having acceptable program generation.
    Allowing floats as well proved too much specialization.  Many GLES1
    conformance tests would grind to a halt while providing little to no
    benefit to app traces.
    
    This CL does the following:
    * Create a GLES1ShaderState class that contains hashable data
    * Populate it with all states influencing ubershader generation
    * Hash the class to perform the lookup of existing programs
    
    Frame times on Android ARM with locked GPU clocks:
    
    Trace                Before    After
    dr_driving:          4.2986 -> 0.8155
    sonic_the_hedgehog:  2.8223 -> 0.6254
    summoners_war:      15.9810 -> 2.3937
    wordscapes:          7.6167 -> 1.1496
    zillow:              2.9368 -> 1.9318
    
    Test: end2end, perftests, gles1_conformance
    Bug: angleproject:6644
    Change-Id: I060280e282d7b514d3e410c4f8c5e09659e85d3b
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3280355
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Lingfeng Yang <lfy@google.com>
    Commit-Queue: Cody Northrop <cnorthrop@google.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