• Show log

    Commit

  • Hash : b23bf47c
    Author : Kyle Piddington
    Date : 2023-01-25T18:50:40

    Reland "Metal: rewrite default uniforms and uniform blocks"
    
    Instead of rewriting uniforms in shaders to match std140 layout,
    re-pack incoming uniform blocks' std140 packed variables to match
    Metal's layout.
    
    This change intorduces a new BlockLayoutEncoder for Metal types
    The block encoder handles packing typically larger GL types (bools)
    into smaller types, and adding support for more compressed matrix types.
    
    Since we no longer need to do shader-time packing and unpacking of data
    from std140 padded structs, complicated shader transformations have been
    removed. This patch greatly reduces register pressure, especially when
    working with shaders with arrays of previously expanded types. (Vec3's)
    
    Reland: Fix an issue where the default uniform block's final size was not
    aligned to the default uniform block's alignment requirements, causing
    crashes with the debug layer enabled.
    
    Bug: angleproject:7137
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3733524
    Commit-Queue: Kyle Piddington <kpiddington@apple.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Change-Id: I89d3b817675486fde73b91b0be0f4c25986d4ba5
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4209867
    

  • 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