GPU: Fix issue with GPU render boundaries being opened while a GPUBackend does not exist.
Fixes regression introduced by rBe8bcca4bdc94 (D15900) Ref T96261 Reviewed By: fclem Maniphest Tasks: T96261 Differential Revision: https://developer.blender.org/D16085
This commit is contained in:
committed by
Clément Foucault
parent
ffd8390af7
commit
0fdb9cd650
@@ -3113,6 +3113,8 @@ void DRW_render_context_enable(Render *render)
|
||||
WM_init_opengl();
|
||||
}
|
||||
|
||||
GPU_render_begin();
|
||||
|
||||
if (GPU_use_main_context_workaround()) {
|
||||
GPU_context_main_lock();
|
||||
DRW_opengl_context_enable();
|
||||
@@ -3136,6 +3138,8 @@ void DRW_render_context_enable(Render *render)
|
||||
|
||||
void DRW_render_context_disable(Render *render)
|
||||
{
|
||||
GPU_render_end();
|
||||
|
||||
if (GPU_use_main_context_workaround()) {
|
||||
DRW_opengl_context_disable();
|
||||
GPU_context_main_unlock();
|
||||
|
||||
@@ -152,7 +152,6 @@ static void engine_depsgraph_free(RenderEngine *engine)
|
||||
/* Need GPU context since this might free GPU buffers. */
|
||||
const bool use_gpu_context = (engine->type->flag & RE_USE_GPU_CONTEXT);
|
||||
if (use_gpu_context) {
|
||||
GPU_render_begin();
|
||||
DRW_render_context_enable(engine->re);
|
||||
}
|
||||
|
||||
@@ -161,7 +160,6 @@ static void engine_depsgraph_free(RenderEngine *engine)
|
||||
|
||||
if (use_gpu_context) {
|
||||
DRW_render_context_disable(engine->re);
|
||||
GPU_render_end();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -758,7 +756,6 @@ static void engine_depsgraph_init(RenderEngine *engine, ViewLayer *view_layer)
|
||||
/* Need GPU context since this might free GPU buffers. */
|
||||
const bool use_gpu_context = (engine->type->flag & RE_USE_GPU_CONTEXT) && reuse_depsgraph;
|
||||
if (use_gpu_context) {
|
||||
GPU_render_begin();
|
||||
DRW_render_context_enable(engine->re);
|
||||
}
|
||||
|
||||
@@ -766,7 +763,6 @@ static void engine_depsgraph_init(RenderEngine *engine, ViewLayer *view_layer)
|
||||
|
||||
if (use_gpu_context) {
|
||||
DRW_render_context_disable(engine->re);
|
||||
GPU_render_end();
|
||||
}
|
||||
}
|
||||
else {
|
||||
@@ -939,7 +935,6 @@ static void engine_render_view_layer(Render *re,
|
||||
if (use_engine) {
|
||||
const bool use_gpu_context = (engine->type->flag & RE_USE_GPU_CONTEXT);
|
||||
if (use_gpu_context) {
|
||||
GPU_render_begin();
|
||||
DRW_render_context_enable(engine->re);
|
||||
}
|
||||
|
||||
@@ -955,7 +950,6 @@ static void engine_render_view_layer(Render *re,
|
||||
|
||||
if (use_gpu_context) {
|
||||
DRW_render_context_disable(engine->re);
|
||||
GPU_render_end();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user