Blender Git Loki
Git Commits -> Revision 5037dd8
Revision 5037dd8 by Clément Foucault (master) July 19, 2018, 14:13 (GMT) |
GPU: Add GC to FBOs and UBOs and centralize all GCs GPUFrameBuffers were being free when no context was attached or in the wrong gl context. This make sure this does not happen again. You can now safely free any gl resource from any thread (well as long as it's not used anymore!). |
Commit Details:
Full Hash: 5037dd8abdf9335e998141336d4e15f81580c491
Parent Commit: 3882d09
Lines Changed: +458, -529
2 Added Paths:
/source/blender/gpu/intern/gpu_context.cpp (+315, -0) (View)
/source/blender/gpu/intern/gpu_context_private.h (+68, -0) (View)
/source/blender/gpu/intern/gpu_context_private.h (+68, -0) (View)
4 Deleted Paths:
/source/blender/gpu/GPU_buffer_id.h (+0, -53)
/source/blender/gpu/GPU_vertex_array_id.h (+0, -55)
/source/blender/gpu/intern/gpu_buffer_id.cpp (+0, -90)
/source/blender/gpu/intern/gpu_vertex_array_id.cpp (+0, -196)
/source/blender/gpu/GPU_vertex_array_id.h (+0, -55)
/source/blender/gpu/intern/gpu_buffer_id.cpp (+0, -90)
/source/blender/gpu/intern/gpu_vertex_array_id.cpp (+0, -196)
20 Modified Paths:
/source/blender/draw/DRW_engine.h (+4, -0) (Diff)
/source/blender/draw/intern/draw_manager.c (+15, -5) (Diff)
/source/blender/gpu/CMakeLists.txt (+2, -4) (Diff)
/source/blender/gpu/GPU_material.h (+0, -5) (Diff)
/source/blender/gpu/GPU_texture.h (+0, -5) (Diff)
/source/blender/gpu/intern/gpu_batch.c (+1, -2) (Diff)
/source/blender/gpu/intern/gpu_batch_private.h (+0, -3) (Diff)
/source/blender/gpu/intern/gpu_element.c (+4, -3) (Diff)
/source/blender/gpu/intern/gpu_framebuffer.c (+11, -4) (Diff)
/source/blender/gpu/intern/gpu_immediate.c (+3, -4) (Diff)
/source/blender/gpu/intern/gpu_init_exit.c (+0, -5) (Diff)
/source/blender/gpu/intern/gpu_material.c (+2, -37) (Diff)
/source/blender/gpu/intern/gpu_private.h (+3, -0) (Diff)
/source/blender/gpu/intern/gpu_shader.c (+2, -0) (Diff)
/source/blender/gpu/intern/gpu_shader_interface.c (+4, -2) (Diff)
/source/blender/gpu/intern/gpu_texture.c (+11, -47) (Diff)
/source/blender/gpu/intern/gpu_uniformbuffer.c (+4, -3) (Diff)
/source/blender/gpu/intern/gpu_vertex_buffer.c (+5, -3) (Diff)
/source/blender/windowmanager/intern/wm_init_exit.c (+4, -1) (Diff)
/source/blender/windowmanager/intern/wm_window.c (+0, -2) (Diff)
/source/blender/draw/intern/draw_manager.c (+15, -5) (Diff)
/source/blender/gpu/CMakeLists.txt (+2, -4) (Diff)
/source/blender/gpu/GPU_material.h (+0, -5) (Diff)
/source/blender/gpu/GPU_texture.h (+0, -5) (Diff)
/source/blender/gpu/intern/gpu_batch.c (+1, -2) (Diff)
/source/blender/gpu/intern/gpu_batch_private.h (+0, -3) (Diff)
/source/blender/gpu/intern/gpu_element.c (+4, -3) (Diff)
/source/blender/gpu/intern/gpu_framebuffer.c (+11, -4) (Diff)
/source/blender/gpu/intern/gpu_immediate.c (+3, -4) (Diff)
/source/blender/gpu/intern/gpu_init_exit.c (+0, -5) (Diff)
/source/blender/gpu/intern/gpu_material.c (+2, -37) (Diff)
/source/blender/gpu/intern/gpu_private.h (+3, -0) (Diff)
/source/blender/gpu/intern/gpu_shader.c (+2, -0) (Diff)
/source/blender/gpu/intern/gpu_shader_interface.c (+4, -2) (Diff)
/source/blender/gpu/intern/gpu_texture.c (+11, -47) (Diff)
/source/blender/gpu/intern/gpu_uniformbuffer.c (+4, -3) (Diff)
/source/blender/gpu/intern/gpu_vertex_buffer.c (+5, -3) (Diff)
/source/blender/windowmanager/intern/wm_init_exit.c (+4, -1) (Diff)
/source/blender/windowmanager/intern/wm_window.c (+0, -2) (Diff)