diff options
Diffstat (limited to 'source/blender/render/intern/engine.c')
-rw-r--r-- | source/blender/render/intern/engine.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/source/blender/render/intern/engine.c b/source/blender/render/intern/engine.c index 8a4b4c2a70d..266e66092b8 100644 --- a/source/blender/render/intern/engine.c +++ b/source/blender/render/intern/engine.c @@ -46,6 +46,8 @@ #include "DRW_engine.h" +#include "GPU_context.h" + #include "pipeline.h" #include "render_result.h" #include "render_types.h" @@ -950,6 +952,16 @@ bool RE_engine_render(Render *re, bool do_all) re->draw_lock(re->dlh, true); } + if ((type->flag & RE_USE_GPU_CONTEXT) && !GPU_backend_supported()) { + /* Clear UI drawing locks. */ + if (re->draw_lock) { + re->draw_lock(re->dlh, false); + } + BKE_report(re->reports, RPT_ERROR, "Can not initialize the GPU"); + G.is_break = true; + return true; + } + /* update animation here so any render layer animation is applied before * creating the render result */ if ((re->r.scemode & (R_NO_FRAME_UPDATE | R_BUTS_PREVIEW)) == 0) { |