diff --git a/src/mesa/main/debug_output.c b/src/mesa/main/debug_output.c index 6527aea5771..d47756c9b50 100644 --- a/src/mesa/main/debug_output.c +++ b/src/mesa/main/debug_output.c @@ -193,7 +193,8 @@ void _mesa_debug_get_id(GLuint *id) { if (!(*id)) { - *id = p_atomic_inc_return(&PrevDynamicID); + /* Don't update *id if we raced with some other thread. */ + p_atomic_cmpxchg(id, 0, p_atomic_inc_return(&PrevDynamicID)); } }