Commit: 7df51ca11a227b5e51290f8dc976972a01db5d81
Author: mano-wii
Date: Sat May 2 10:21:17 2020 -0300
Branches: master
https://developer.blender.org/rB7df51ca11a227b5e51290f8dc976972a01db5d81
Possible fix for T76113: Use GL_STATIC_DRAW in immBegin
This fixes a freeze when closing temporary windows with `AMD Radeon HD 7570M`
The performance is practically the same between calls (with a micro advantage
for `GL_STATIC_DRAW`)
I couldn't check the difference in memory usage.
The ideal would be profile in different setups.
But due to the seriousness of the bug, these tests were postponed.
===================================================================
M source/blender/gpu/intern/gpu_immediate.c
===================================================================
diff --git a/source/blender/gpu/intern/gpu_immediate.c
b/source/blender/gpu/intern/gpu_immediate.c
index 5a5dfb3e1e8..f91a13a3b62 100644
--- a/source/blender/gpu/intern/gpu_immediate.c
+++ b/source/blender/gpu/intern/gpu_immediate.c
@@ -268,7 +268,8 @@ void immBegin(GPUPrimType prim_type, uint vertex_len)
else {
/* orphan this buffer & start with a fresh one */
/* this method works on all platforms, old & new */
- glBufferData(GL_ARRAY_BUFFER, active_buffer->buffer_size, NULL,
GL_DYNAMIC_DRAW);
+ /* `GL_DYNAMIC_DRAW` was causing problems when closing temporary windows
on old AMD GPUs. */
+ glBufferData(GL_ARRAY_BUFFER, active_buffer->buffer_size, NULL,
GL_STATIC_DRAW);
active_buffer->buffer_offset = 0;
}
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs