Skip to content
  • José María Casanova Crespo's avatar
    spirv/i965/anv: Relax push constant offset assertions being 32-bit aligned · 02266f9b
    José María Casanova Crespo authored and Faith Ekstrand's avatar Faith Ekstrand committed
    
    
    The introduction of 16-bit types with VK_KHR_16bit_storages implies that
    push constant offsets could be multiple of 2-bytes. Some assertions are
    updated so offsets should be just multiple of size of the base type but
    in some cases we can not assume it as doubles aren't aligned to 8 bytes
    in some cases.
    
    For 16-bit types, the push constant offset takes into account the
    internal offset in the 32-bit uniform bucket adding 2-bytes when we access
    not 32-bit aligned elements. In all 32-bit aligned cases it just becomes 0.
    
    v2: Assert offsets to be aligned to the dest type size. (Jason Ekstrand)
    
    Reviewed-by: default avatarJason Ekstrand <jason@jlekstrand.net>
    02266f9b