Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClément Foucault <foucault.clem@gmail.com>2018-07-19 16:48:13 +0300
committerClément Foucault <foucault.clem@gmail.com>2018-07-19 17:13:15 +0300
commit5037dd8abdf9335e998141336d4e15f81580c491 (patch)
tree0f6a1df0db24e27c3dbef47cf858132f0b975a66 /source/blender/gpu/intern/gpu_immediate.c
parent3882d0943b33c42d1dbe67d10d2432c0e7191959 (diff)
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!).
Diffstat (limited to 'source/blender/gpu/intern/gpu_immediate.c')
-rw-r--r--source/blender/gpu/intern/gpu_immediate.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/source/blender/gpu/intern/gpu_immediate.c b/source/blender/gpu/intern/gpu_immediate.c
index 66a467e339e..9674cf0b9f7 100644
--- a/source/blender/gpu/intern/gpu_immediate.c
+++ b/source/blender/gpu/intern/gpu_immediate.c
@@ -32,11 +32,10 @@
#include "UI_resources.h"
#include "GPU_attr_binding.h"
-#include "GPU_buffer_id.h"
#include "GPU_immediate.h"
-#include "GPU_vertex_array_id.h"
#include "gpu_attr_binding_private.h"
+#include "gpu_context_private.h"
#include "gpu_primitive_private.h"
#include "gpu_shader_private.h"
#include "gpu_vertex_format_private.h"
@@ -91,7 +90,7 @@ void immInit(void)
#endif
memset(&imm, 0, sizeof(Immediate));
- imm.vbo_id = GPU_buf_id_alloc();
+ imm.vbo_id = GPU_buf_alloc();
glBindBuffer(GL_ARRAY_BUFFER, imm.vbo_id);
glBufferData(GL_ARRAY_BUFFER, IMM_BUFFER_SIZE, NULL, GL_DYNAMIC_DRAW);
@@ -127,7 +126,7 @@ void immDeactivate(void)
void immDestroy(void)
{
- GPU_buf_id_free(imm.vbo_id);
+ GPU_buf_free(imm.vbo_id);
initialized = false;
}