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>2020-10-22 02:19:10 +0300
committerClément Foucault <foucault.clem@gmail.com>2020-10-22 02:19:10 +0300
commitcc3fdffbbe450ef75a49571ec75fd8f0ecb45550 (patch)
treefdc1875ca6226a47914bc5102cbaa9e5d3ca7a82 /source/blender/draw/engines/external
parent5a65305f8998a72c8bf39bc69414c7ba2da57055 (diff)
DRW: Fix custom engine not being BGL safe
This was caused by unprotected drawing callbacks. As of 2.91, we require that all python callbacks used for drawing needs to be safeguarded by `GPU_bgl_end()` to end the state tracking override.
Diffstat (limited to 'source/blender/draw/engines/external')
-rw-r--r--source/blender/draw/engines/external/external_engine.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/source/blender/draw/engines/external/external_engine.c b/source/blender/draw/engines/external/external_engine.c
index bcdd0f9e3dc..bd97fd8a413 100644
--- a/source/blender/draw/engines/external/external_engine.c
+++ b/source/blender/draw/engines/external/external_engine.c
@@ -36,6 +36,7 @@
#include "GPU_matrix.h"
#include "GPU_shader.h"
+#include "GPU_state.h"
#include "GPU_viewport.h"
#include "external_engine.h" /* own include */
@@ -243,6 +244,8 @@ static void external_draw_scene_do(void *vedata)
type = rv3d->render_engine->type;
type->view_draw(rv3d->render_engine, draw_ctx->evil_C, draw_ctx->depsgraph);
+ GPU_bgl_end();
+
GPU_matrix_pop();
GPU_matrix_pop_projection();