Fixed by not doing async loading and always stage correct texture reference. Unfortunately the code is getting a bit messy since the texture loading is not done at the GPUMaterial level. So we need one async and one synchronous path inside `PassBase<T>::material_set`. `ImageGPUTextures` now contains references to the location of the future `GPUTexture *`. Also fix #140001 Pull Request: https://projects.blender.org/blender/blender/pulls/140203