• Show log

    Commit

  • Hash : 1a8d7712
    Author : Roman Lavrov
    Date : 2025-01-06T12:44:00

    Inline common cases of PackParam<BufferBinding>
    
    This appears to improve frame time by ~0.8% in some of my
    driver_overhead_2 tests on a mobile device.
    Default implementation is FromGLenum<BufferBinding>
    https://crsrc.org/c/third_party/angle/src/common/PackedGLEnums_autogen.cpp;drc=0bb109aa3311f35bf0b51bcda3d7e095048168c8;l=106
    and has 15 cases. This CL avoids the call for 3 of those cases,
    most common ones according to frequency of glBindBuffer arg
    in our trace cpp files.
    
    This mapping adds compare/branch instructions for each case, hence
    inlining increases the caller a little. In this case the increase is
    about 60 bytes. With the total of 23 callers (GL_*Buffer* exports), this
    increase the .so size by ~1.3KB. Just inlining the function would yield
    higher bloat and wouldn't prioritize the common cases.
    
    Bug: b/383305597
    Change-Id: Icc205fd46fb8ef195c8ffaf67f9cd5194d1d1a5d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6148838
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Roman Lavrov <romanl@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
    thodg_m kc3_lang_org thodg_w www_kmx_io thodg thodg_l
    Tags