Blender Git Commit Log

Git Commits -> Revision 5e37f70

Revision 5e37f70 by Sergey Sharybin (master)
December 7, 2021, 18:01 (GMT)
Fix T93350: Cycles renders shows black during rendering huge resolutions

The root of the issue is caused by Cycles ignoring OpenGL limitation on
the maximum resolution of textures: Cycles was allocating texture of the
final render resolution. It was exceeding limitation on certain GPUs and
driver.

The idea is simple: use multiple textures for the display, each of which
will fit into OpenGL limitations.

There is some code which allows the display driver to know when to start
the new tile. Also added some code to allow force graphics interop to be
re-created. The latter one ended up not used in the final version of the
patch, but it might be helpful for other drivers implementation.

The tile size is limited to 8K now as it is the safest size for textures
on many GPUs and OpenGL drivers.

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

Commit Details:

Full Hash: 5e37f70307bdacedd0f7da65f8b385bc1426f21d
Parent Commit: a92805b
Committed By: Brecht Van Lommel
Lines Changed: +568, -306

14 Modified Paths:

/intern/cycles/blender/addon/properties.py (+1, -1) (Diff)
/intern/cycles/blender/display_driver.cpp (+498, -222) (Diff)
/intern/cycles/blender/display_driver.h (+8, -59) (Diff)
/intern/cycles/device/cuda/graphics_interop.cpp (+4, -2) (Diff)
/intern/cycles/integrator/path_trace.cpp (+6, -5) (Diff)
/intern/cycles/integrator/path_trace.h (+3, -1) (Diff)
/intern/cycles/integrator/path_trace_display.cpp (+8, -3) (Diff)
/intern/cycles/integrator/path_trace_display.h (+6, -3) (Diff)
/intern/cycles/integrator/path_trace_work.cpp (+4, -4) (Diff)
/intern/cycles/integrator/path_trace_work_gpu.cpp (+4, -2) (Diff)
/intern/cycles/session/display_driver.h (+13, -0) (Diff)
/intern/cycles/session/session.cpp (+3, -2) (Diff)
/intern/cycles/session/tile.cpp (+4, -2) (Diff)
/intern/cycles/session/tile.h (+6, -0) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021