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)
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021