September 15, 2021, 17:33 (GMT) |
Cycles X: Switch PassAccessor to BufferPass Moving towards pixels access from only Buffers, without access to the scene graph. Should be no functional changes. |
September 15, 2021, 17:25 (GMT) |
Cycles X: restore support for render progress bar percentage |
September 15, 2021, 16:55 (GMT) |
Merge branch 'master' into cycles-x |
September 14, 2021, 15:01 (GMT) |
Cycles X: Switch startswith/endswith to string_view Currently no functional changes. Making this internal API flexible to be used for any string-like objects. The implementation is a bit lower-level than one would expect from the C++'s string_view. This is because the string_view implementation is coming from OIIO./ Differential Revision: https://developer.blender.org/D12483 |
September 14, 2021, 15:01 (GMT) |
Cycles X: Cover string startswith/endswith with tests |
September 14, 2021, 13:13 (GMT) |
Cleanup: remove unnecessary clamp, is already done when initializing closure |
September 14, 2021, 13:13 (GMT) |
Fix deadlock due to lock order inversion in rendering after GPU display changes Main thread: * Acquires DST.gl_context_mutex lock for drawing image editor * Acquires mutex_ in GPUDisplay::draw() Render thread: * Acquires mutex_ in GPUDisplay::update_begin() * Acquires DST.gl_context_mutex for updating texture Ideally DST.gl_context_mutex would not be needed at all, for best performance. But this requires deep changes to the draw manager since it relies on global variables in many places. Instead rely on DST.gl_context_mutex for mutual exclusion between update and draw operations in the subclass, and only use mutex_ for thread safe access to the parameters. Differential Revision: https://developer.blender.org/D12468 |
September 14, 2021, 08:41 (GMT) |
Fix using reference to a temporary variable in Cycles X |
September 13, 2021, 14:45 (GMT) |
Cycles X: Convert pass fields to socket declarations No functional changes, just finalizes conversion of Pass to a proper scene node. Differential Revision: https://developer.blender.org/D12433 |
September 13, 2021, 14:41 (GMT) |
Fix memory leak in Cycles X Caused by recent refactor of tile file storage: need to take care of freeing pass nodes. |
September 13, 2021, 11:46 (GMT) |
Merge branch 'master' into cycles-x |
September 13, 2021, 11:46 (GMT) |
Fix too small step size for time limit button, increase from 1ms to 1s |
September 13, 2021, 10:17 (GMT) |
Cleanup: Unused function No functional changes. |
September 13, 2021, 09:57 (GMT) |
Cycles X: Store passes and buffer params in tile file metadata Allows to fully forget about passes and parameters once the file was fully written. Currently should be no functional changes. Will be used when a proper memory saving is implemented: when EXR files are read from disk and written to Blender after all view layers were rendered. Is debatable why we need to store actual passes: for now it was the most local change to move towards the goal (which is to decouple full buffers reading from the Session/PathTrace/TileManager state). Might end up storing simplified version of passes in the BufferParams so that we can use `get_render_tile_pixels()` without having Scene and only relying on the RenderBuffers. In any case, we would need to store some sort of metadata, and whether it comes to/from passes is something we can tweak in the future. Differential Revision: https://developer.blender.org/D12447 |
September 13, 2021, 09:41 (GMT) |
Merge branch 'master' into cycles-x |
September 10, 2021, 16:35 (GMT) |
Fix crash denoising shadow catcher in Cycles X |
September 10, 2021, 16:26 (GMT) |
Fix missing render progress on Windows in Cycles X The issue is caused by `::wglShareLists()` returning an error if the shared context is currently in use, so that the OpenGL context for GPUDisplay did fail to be created. After a lot of experimentation all the non-intrusive changes to support OpenGL context creation with shared textures has failed. The easiest way to have reliable OpenGL context creation is to do it on the main thread. For the offline rendering this is done in the pipeline.c. This change takes advantage of this and uses the Render::gl_context for the GPU display implementation for offline rendering. For the viewport rendering we don't have Render, but the engine is created from the main thread, so we can create context from the Cycles side. Not really happy with such approach, but this seems to be easiest and safest way to go for now to get other bits of Cycles X finished. In the future Vulkan should make things easier for the context creation and multi-threaded applications. Differential Revision: https://developer.blender.org/D12439 |
September 10, 2021, 15:41 (GMT) |
Merge branch 'master' into cycles-x |
September 10, 2021, 15:41 (GMT) |
Fix error in last random walk bugfix |
September 10, 2021, 13:55 (GMT) |
Fix T90010: Cycles X random walk discontinuity between low and zero albedo |
|