• Show log

    Commit

  • Hash : 93b659f9
    Author : Kimmo Kinnunen
    Date : 2025-07-04T12:35:29

    Remove PoolAllocator push/pop feature
    
    PoolAllocator would manage a stack of memory pools upon client
    calling push() and pop(). This made the code unnecessarily complicated.
    The feature was only used with nesting of one, to mark the memory
    unused after a shader compile.
    
    Fix by removing the push/pop feature. Instantiate PoolAllocator in
    places the previous push() was and uninstantiating instead of previous
    pop().
    
    This removes the feature where the PoolAllocator would hold on to
    the allocated memory in order to reuse it. This is seen as a
    progression: the allocator is held by the compiler, the compiler is
    held by the shader and each shader typically see only one compile.
    Thus the free pages were just leaking unused until the shader was
    destroyed. Instead, destructing the PoolAllocator instead of pop()
    will donate the memory back to platform/OS, where it is likely
    more useful.
    
    To preserve existing Vulkan behavior, add PoolAllocator::reset()
    which would mark the memory unused but leave them reserved for the
    PoolAllocator.
    
    Removes UB where PageHeader::nextPage would be accessed after
    ~PageHeader.
    
    Bug: angleproject:429513168
    Change-Id: I21e58b46e0887380db3a2cab5ce22f0042cfae9e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6701153
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
    Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    

  • 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