-
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 <alyssa@collabora.com> Cc: mesa-stable
63d54d0d