Created attachment 145487 [details]
output from gdb
Using the env var "GALLIUM_THREAD=0" makes the issue worse (the example hangs
at the first iteration).
One app thread is stuck at: glWaitSync(_textureUploadFence, 0,
GL_TIMEOUT_IGNORED);
The other thread is stuck waiting for the first thread to release the mutex.
Before waiting for the mutex it made a call to: "_textureUploadFence =
glFenceSync(GL_SYNC_GPU_COMMANDS_COMPLETE, 0);"
All the mesa internal threads are waiting for work to do.