Fix T43530 using blender on remote connection crashes

Issue here is that remote connection will use OpenGL 1.1.
There was a call here that would free VBOs always without a check,
however the VBO free function pointer is NULL on such contexts causing a
crash.

This must have been causing some of the crashes with old contexts. While
I think supporting those systems is not such a good idea in general,
they can have a few more moments of support I guess.

Things might be better now for systems using OGL 1.1 though there are
still things that could be done better here - for instance going to
dyntopo can crash immediately because we don't have a fallback
implementation there. It might be worth reimplementing sculpting with
vertex arrays for the legacy case too, but I guess if we move on to
OpenGL 2.1 soon this is a bit of a wasted effort.
This commit is contained in:
Antonis Ryakiotakis 2015-02-03 16:17:58 +01:00
parent 2d4980e68e
commit c48c20b498
Notes: blender-bot 2023-02-14 09:32:03 +01:00
Referenced by issue #43530, blender 2.73 & 2.73a nvidia tcc driver on Tesla remote connection crash
1 changed files with 4 additions and 2 deletions

View File

@ -187,8 +187,10 @@ static void gpu_buffer_pool_free_unused(GPUBufferPool *pool)
while (pool->totbuf)
gpu_buffer_pool_delete_last(pool);
glDeleteBuffersARB(pool->totpbvhbufids, pool->pbvhbufids);
pool->totpbvhbufids = 0;
if (pool->totpbvhbufids > 0) {
glDeleteBuffersARB(pool->totpbvhbufids, pool->pbvhbufids);
pool->totpbvhbufids = 0;
}
BLI_mutex_unlock(&buffer_mutex);
}