• Show log

    Commit

  • Hash : 53ec86ab
    Author : Matthew Denton
    Date : 2024-12-17T14:40:31

    WGSL: support small stride arrays in uniforms
    
    WGSL requires arrays in the uniform address space to have a stride
    a multiple of 16.
    
    This CL makes WGSL translator emit wrapper structs for array element
    types used in the uniform address space, when the array stride is
    not a multiple of 16. The exception is for structs that aren't
    an aligned size of 16n, and for any types matCx2, since they are
    (or will be) handled in different ways that ensure alignment to 16.
    This should leave only f32, i32, u32, and vec2.
    See https://www.w3.org/TR/WGSL/#example-67da5de6 for an example
    of using a wrapper struct.
    
    This requires converting arrays with a wrapper struct element type
    to arrays with an unwrapped element type when they are first used;
    this can be "optimized" later for the common case of accessing a
    single array element, which can then be unwrapped immediately. This
    CL generates WGSL conversion functions when necessary.
    
    After this, the only types that can't yet be used in a uniform
    are matCx2 and bools.
    
    This is #2 in
    https://docs.google.com/document/d/17Qku1QEbLDhvJS-JJ9lPQAbnuZtLxWhG-ha5eCUhtEY/edit?tab=t.0#bookmark=id.rt3slgehd4te
    
    Bug: angleproject:376553328
    Change-Id: I1edfa7f481a6cbf5b595643aae8728e67bc4b770
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6092038
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Liza Burakova <liza@chromium.org>
    Reviewed-by: Matt Denton <mpdenton@google.com>
    Commit-Queue: Matt Denton <mpdenton@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