• Alyssa Rosenzweig's avatar
    panfrost: Protect the variants array with a lock · 63d54d0d
    Alyssa Rosenzweig authored
    
    
    Without a lock, two threads may bind the same shader CSO simultaneously,
    allocate the same variant simultaneously, and then race each other in
    the compiler. This manifests in various ways, most commonly failing the
    assertion that UBO pushing has only run once. The simple_mtx_t solution
    is used in Iris. Fixes the crash in:
    
    dEQP-EGL.functional.sharing.gles2.multithread.simple.buffers.bufferdata_render
    Signed-off-by: Alyssa Rosenzweig's avatarAlyssa Rosenzweig <alyssa@collabora.com>
    Cc: mesa-stable
    63d54d0d
pan_context.c 39.7 KB