Blender Git Loki
Git Commits -> Revision 8d6a8c5
Revision 8d6a8c5 by Sergey Sharybin (cycles-x) September 7, 2021, 08:56 (GMT) |
Cycles X: Use GPUDisplay for non-interactive render This is a part of hi-res image rendering. The goal of this step is to make it so Cycles takes care of active pass drawing for non-interactive render, similar to the viewport render. Some top-level overview of the code side design changes are summarized in T90580. Benefits and solutions to design limitations which this change brings: - Allows to lazily allocate render result on Blender side. - Solves bottleneck of data transfer and color management, which should solve issues like T52360. - Allows a render engine to take advantage of tiled rendering for memory saving by saving rendered tiles on disk and only keeping display buffer. Leaving display buffer management to an external engine allows the engine to implement logic needed for changing active display pass (which might involve reading from partial tile file). - Allows to see any pass during rendering. Differential Revision: https://developer.blender.org/D12039 |
Commit Details:
Full Hash: 8d6a8c543c6b61e93ea9f9784fc10c04972a0326
Parent Commit: bc76270
Lines Changed: +451, -56
20 Modified Paths:
/intern/cycles/blender/addon/engine.py (+12, -0) (Diff)
/intern/cycles/blender/addon/__init__.py (+3, -0) (Diff)
/intern/cycles/blender/blender_gpu_display.cpp (+3, -2) (Diff)
/intern/cycles/blender/blender_python.cpp (+25, -0) (Diff)
/intern/cycles/blender/blender_session.cpp (+66, -36) (Diff)
/intern/cycles/blender/blender_session.h (+6, -3) (Diff)
/intern/cycles/integrator/path_trace.cpp (+3, -1) (Diff)
/source/blender/draw/engines/eevee/eevee_engine.c (+1, -0) (Diff)
/source/blender/draw/engines/external/external_engine.c (+209, -6) (Diff)
/source/blender/draw/engines/external/external_engine.h (+4, -0) (Diff)
/source/blender/draw/engines/select/select_engine.c (+1, -0) (Diff)
/source/blender/draw/engines/workbench/workbench_engine.c (+1, -0) (Diff)
/source/blender/draw/intern/draw_manager.c (+13, -2) (Diff)
/source/blender/draw/intern/draw_manager_exec.c (+5, -0) (Diff)
/source/blender/draw/intern/DRW_render.h (+1, -0) (Diff)
/source/blender/makesrna/intern/rna_render.c (+41, -6) (Diff)
/source/blender/render/intern/engine.c (+34, -0) (Diff)
/source/blender/render/RE_engine.h (+12, -0) (Diff)
/source/blender/windowmanager/intern/wm_window.c (+10, -0) (Diff)
/source/blender/windowmanager/WM_api.h (+1, -0) (Diff)
/intern/cycles/blender/addon/__init__.py (+3, -0) (Diff)
/intern/cycles/blender/blender_gpu_display.cpp (+3, -2) (Diff)
/intern/cycles/blender/blender_python.cpp (+25, -0) (Diff)
/intern/cycles/blender/blender_session.cpp (+66, -36) (Diff)
/intern/cycles/blender/blender_session.h (+6, -3) (Diff)
/intern/cycles/integrator/path_trace.cpp (+3, -1) (Diff)
/source/blender/draw/engines/eevee/eevee_engine.c (+1, -0) (Diff)
/source/blender/draw/engines/external/external_engine.c (+209, -6) (Diff)
/source/blender/draw/engines/external/external_engine.h (+4, -0) (Diff)
/source/blender/draw/engines/select/select_engine.c (+1, -0) (Diff)
/source/blender/draw/engines/workbench/workbench_engine.c (+1, -0) (Diff)
/source/blender/draw/intern/draw_manager.c (+13, -2) (Diff)
/source/blender/draw/intern/draw_manager_exec.c (+5, -0) (Diff)
/source/blender/draw/intern/DRW_render.h (+1, -0) (Diff)
/source/blender/makesrna/intern/rna_render.c (+41, -6) (Diff)
/source/blender/render/intern/engine.c (+34, -0) (Diff)
/source/blender/render/RE_engine.h (+12, -0) (Diff)
/source/blender/windowmanager/intern/wm_window.c (+10, -0) (Diff)
/source/blender/windowmanager/WM_api.h (+1, -0) (Diff)