Blender Git Loki

Kaikki Blender Git kommitit.

Page: 843 / 8462

March 11, 2021, 16:21 (GMT)
Fix regression in 2cc5af9c553cfc00b7d4616445ad954597a92d94

The check for undo-depth increment/decrement assumed a newly loaded
window manager would have a different pointer.

This broke bl_animation_fcurves test indirectly,
the change to undo-depth caused the redo panel to attempt to popup
in background mode - which isn't supported.

Now the pointer is unchanged, the undo-depth is assumed to match
the value used when calling the operator.

The undo-depth is now properly maintained between file loads,
which is an improvement on the original behavior which reset it.
March 11, 2021, 15:56 (GMT)
Vulkan: Implementation of VKTexture

Implementation is a first draft and needs to be refined over time.
March 11, 2021, 15:55 (GMT)
Vulkan: Bypass BGL when running with the vulkan backend

This avoids a crash at startup.
March 11, 2021, 15:51 (GMT)
Fix T86199: error when adding custom fluid diffusion preset

Differential Revision: https://developer.blender.org/D10694
March 11, 2021, 15:15 (GMT)
Fluid: Updated hidden symbol visibility comment

It turns out that on official arm64 devices (not DevKit) the linker
warnings still show up. So just leaving this as is.

Ref D9002
March 11, 2021, 15:02 (GMT)
Vulkan: Fix crash because of null active framebuffer
March 11, 2021, 15:01 (GMT)
Vulkan: Add allocator and command pool to VKContext

This allows memory backed object (Textures, VertexBuffers, ...) to be created.
Also adds functions for one time use command buffers.
March 11, 2021, 14:38 (GMT)
GPUContext: Pass GHOST context handle for GPUContext creation

This is because we need to have a direct reference to the context to get
the vulkan resources.
March 11, 2021, 14:01 (GMT)
Cycles: Support denoiser in the new integrator

Implemented as own classes which provide higher level API for rendering
pipeline. Currently placed in the integrator folder, which feels a bit
strange, but is easy to move these files around.

The idea is the following:

- Have every implementation to implement Denoiser interface, which
goes away from previous implementation on a device level. This allows
to more naturally consider Device a way to invoke kernels, without
business logic.

- Currently Denoiser operates on an entire RenderBuffer. In the future
this would need to be changed to operate on a list of render buffers
to support denoising of renders done on multi-device. Seems to be
"just" a straightforward extension of the currently implemented
simple API.

Currently Session is requesting denoising as a dedicated call of
PathTrace. This is something I am not really sure about: in a way this
feels wrong and Session can/should have direct access to denoiser. But
on another hand, having denoising done in the PathTracer allows to have
a more centralized and comprehensive logic around decision of how many
samples to render before update, when to start denoising and things
like this.

From actual implementation is only OpenImageDenoise with color buffer
is implemented. The rest would need a support from kernel.
March 11, 2021, 14:01 (GMT)
Cycles: Rename Denoiser to DenoiserPipeline

The goal is to have clarity on entity names.

The proposed/desired convention:

- Device: low-level "glue" logic, which takes care of running
functions on a particular device. Algorithm implementation
does not belong to device.

- Denoiser: breaks down specific denoising algorithm into a
function calls which happens on a device. It does not belong
to the device because denoising can happen regardless of where
noisy image came from: could be file, could be single render
buffer, could be multiple render buffers rendered by multiple
devices.

- DenoiserPipeline: takes care of performing all steps needed to
denoise a sequence of frames.

In an ideal world DenoiserPipeline will implement a frame accessor
of some sort, and use Denoiser to perform actual denoising on a
configured device/denoising algorithm.

This change only modifies the class name, making room for implementing
an actual denoising algorithms as dedicated entities. Further cleanup
in naming and structure is needed. It will be revisited once the
cross-frame denoising will be worked on as an official core
functionality.
March 11, 2021, 13:58 (GMT)
Merge branch 'master' into ui-asset-view-template
March 11, 2021, 13:54 (GMT)
Pose library: Use scrollwheel to set the blend factor

This is not the final UI, but gives a way to at least set it to some value.
March 11, 2021, 13:53 (GMT)
GHOST: Window: Add drawing context handle getter

This is in order to retrieve the vulkan/gl context from a window handle.
March 11, 2021, 13:51 (GMT)
Cleanup: spelling
March 11, 2021, 13:46 (GMT)
Cleanup: remove unused code and rename variables/fields

No functional changes.
March 11, 2021, 13:40 (GMT)
Fix T86431: Keep memory location of the window manager on file load

Keep the pointer location from the initial window-manager
between file load operations.

This is needed as the Python API may hold references to keymaps for e.g.
which are transferred to the newly loaded window manager,
without their `PointerRNA.owner_id` fields being updated.

Since there is only ever one window manager, keep the memory at the same location so the Python ID pointers stay valid.

Reviewed By: mont29

Ref D10690
March 11, 2021, 13:40 (GMT)
WM: keep the current state when a blend fails to load

Previously many operations would run on file load, even if the file
did not load. Pre/post load handlers were called, timers canceled,
all undo data freed, editors exited ... etc.

Now keep the blend file in it's current state.

This simplifies updating this area of code as there is one less
possible situation to account for.
March 11, 2021, 13:40 (GMT)
Cleanup: split file read and setup into separate steps

Currently file loading performs almost all reloading logic
even in the case loading the file fails, causing the file to be in
a state that isn't well defined: undo is cleared, timers are canceled &
scripts are re-registered.
March 11, 2021, 13:40 (GMT)
Cleanup: file loading/recover checks

- Don't set G.relbase_valid until the file is loaded.
- Remove unnecessary string pointer comparison.
- Remove unused filename being passed to 'setup_app_data'.
March 11, 2021, 13:38 (GMT)
Remove duplicate nodes
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021