Blender Git Commit Log

Git Commits -> Revision a754e35

Revision a754e35 by Brecht Van Lommel (master)
September 30, 2021, 18:48 (GMT)
Cycles: refactor API for GPU display

* Split GPUDisplay into two classes. PathTraceDisplay to implement the Cycles side,
and DisplayDriver to implement the host application side. The DisplayDriver is now
a fully abstract base class, embedded in the PathTraceDisplay.
* Move copy_pixels_to_texture implementation out of the host side into the Cycles side,
since it can be implemented in terms of the texture buffer mapping.
* Move definition of DeviceGraphicsInteropDestination into display driver header, so
that we do not need to expose private device headers in the public API.
* Add more detailed comments about how the DisplayDriver should be implemented.

The "driver" terminology might not be obvious, but is also used in other renderers.

Differential Revision: https://developer.blender.org/D12626

Commit Details:

Full Hash: a754e35198d852ea34e2b82cd2b126538e6f5a3b
Parent Commit: ac58205
Lines Changed: +1716, -1625

5 Added Paths:

/intern/cycles/blender/blender_display_driver.cpp (+754, -0) (View)
/intern/cycles/blender/blender_display_driver.h (+210, -0) (View)
/intern/cycles/integrator/path_trace_display.cpp (+268, -0) (View)
/intern/cycles/integrator/path_trace_display.h (+201, -0) (View)
/intern/cycles/render/display_driver.h (+131, -0) (View)

4 Deleted Paths:

/intern/cycles/blender/blender_gpu_display.cpp (+0, -791)
/intern/cycles/blender/blender_gpu_display.h (+0, -215)
/intern/cycles/render/gpu_display.cpp (+0, -227)
/intern/cycles/render/gpu_display.h (+0, -247)

21 Modified Paths:

/intern/cycles/blender/blender_session.cpp (+8, -7) (Diff)
/intern/cycles/blender/blender_session.h (+3, -3) (Diff)
/intern/cycles/blender/CMakeLists.txt (+2, -2) (Diff)
/intern/cycles/device/cuda/graphics_interop.cpp (+8, -7) (Diff)
/intern/cycles/device/cuda/graphics_interop.h (+1, -1) (Diff)
/intern/cycles/device/device_graphics_interop.h (+3, -16) (Diff)
/intern/cycles/device/hip/graphics_interop.cpp (+17, -5) (Diff)
/intern/cycles/device/hip/graphics_interop.h (+4, -1) (Diff)
/intern/cycles/integrator/CMakeLists.txt (+2, -0) (Diff)
/intern/cycles/integrator/path_trace.cpp (+26, -21) (Diff)
/intern/cycles/integrator/path_trace.h (+8, -7) (Diff)
/intern/cycles/integrator/path_trace_work.cpp (+4, -4) (Diff)
/intern/cycles/integrator/path_trace_work.h (+5, -7) (Diff)
/intern/cycles/integrator/path_trace_work_cpu.cpp (+10, -10) (Diff)
/intern/cycles/integrator/path_trace_work_cpu.h (+4, -4) (Diff)
/intern/cycles/integrator/path_trace_work_gpu.cpp (+27, -29) (Diff)
/intern/cycles/integrator/path_trace_work_gpu.h (+12, -12) (Diff)
/intern/cycles/integrator/render_scheduler.h (+1, -1) (Diff)
/intern/cycles/render/CMakeLists.txt (+1, -2) (Diff)
/intern/cycles/render/session.cpp (+4, -4) (Diff)
/intern/cycles/render/session.h (+2, -2) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021