Blender Git Loki

Blender Git "cycles-x" branch commits.

Page: 3 / 44

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