Commit Graph

138746 Commits

Author SHA1 Message Date
Sergey Sharybin
9460dfd4f3 Fix #124086: blake2 hasher is unavailable on macOS
The issue is caused by an external dependency to
/opt/homebrew/opt/libb2/lib/libb2.1.dylib

This change adds a test to catch the same issue in the future,
and moves the arm64 libraries to a newer hash with fixed Python.

Pull Request: https://projects.blender.org/blender/blender/pulls/124096
2024-07-03 14:46:33 +02:00
Clément Foucault
4d2fcc5716 Fix: EEVEE: Avoid assert from empty volume object material
Also avoid drawing them at all if the material has no
volume shader.
2024-07-03 14:40:54 +02:00
Pratik Borhade
439c318098 Fix #98440: Confirm On Release in Radial Control doesn't work with RMB
Cancelling operator with RMB is hardcoded but some wants RMB to invoke
the operation as well. In such case, don't use RMB to cancel operator
and reset the radius, i.e. when both `rc->init_event` and `event->type` is RMB

Pull Request: https://projects.blender.org/blender/blender/pulls/123053
2024-07-03 14:24:02 +02:00
Alaska
1e6161759e Fix #124073: Incorrect material shadow mode versioning
Only apply EEVEE-Next material shadow versioning to materials with
surfaces. Otherwise this will break the rendering of some materials
(E.g. Volumetrics) by making the surface opaque to the camera.

Pull Request: https://projects.blender.org/blender/blender/pulls/124076
2024-07-03 14:23:40 +02:00
Nikita Sirgienko
74c09b2e63 Cycles: oneAPI: Fix undefined behavior when embree fails initializing
Embree device pointer can end up being nullptr even when Embree on GPU is
expected to be used.  Previous implementation overlooked this possibility,
leading to a completely silent fallback to the non-Hardware ray-tracing path,
this commit fixes it.  We've noticed this as now Embree relies on a driver
component: https://github.com/intel/level-zero-raytracing-support that can
potentially be missing from a system.

Pull Request: https://projects.blender.org/blender/blender/pulls/124085
2024-07-03 14:13:01 +02:00
Xavier Hallade
4477641467 Cycles: oneAPI: Fix driver version check for future Intel GPU drivers
SYCL runtime currently relies on an internal driver behavior that will
break the driver version string returned by SYCL if it changes:
https://github.com/oneapi-src/unified-runtime/issues/1777
This will be fixed at SYCL runtime level but until we use a new enough
one, we need to add additional verifications to avoid blocking execution
on a driver that will change this internal behavior.

Pull Request: https://projects.blender.org/blender/blender/pulls/124084
2024-07-03 14:12:16 +02:00
Xavier Hallade
275b6ee008 Merge branch 'blender-v4.2-release' 2024-07-03 14:03:37 +02:00
Philipp Oeser
cbbeeccd08 Fix #124027: EEVEE light influence UI disappears when light is pinned
As desribed in #90039, we dont have a context object when pinning data,
this was accessed though leading to python errors.

The object was only used for the active state of certain layouts, do to
resolve the errors (and disappearing UI), check if we actually get an
object from context. That means the correct active state of certain
layouts is lost (it could either be always ON or always OFF, PR is using
the former -- since the default visibility is ON, so that would be more
common).

Pull Request: https://projects.blender.org/blender/blender/pulls/124091
2024-07-03 13:43:39 +02:00
Pratik Borhade
e2c038218a Fix #124045: Console error when using node gesture operation
Caused by 9d4d1aea98e1b30278a337f440f9962afe35bf2a. Not every operator
that uses lasso gesture has `smooth_stroke/radius` properties defined,
they are sculpt tool specific. When using `node link cut` tool, console
is flooded with the "property not found error".

Pull Request: https://projects.blender.org/blender/blender/pulls/124040
2024-07-03 13:21:46 +02:00
Omar Emara
eba1a49fa7 Merge branch 'blender-v4.2-release' 2024-07-03 13:31:36 +03:00
Omar Emara
81e4fa29b8 Compositor: Allow Glare node size below 6
This patch allows the size of the Glare node to be below 6. This is not
really a fix, but it is targeting the release branch because of concerns
about this limitation which din't exist for old EEVEE bloom.

Pull Request: https://projects.blender.org/blender/blender/pulls/124092
2024-07-03 12:30:42 +02:00
Omar Emara
46270f03d8 Merge branch 'blender-v4.2-release' 2024-07-03 12:29:48 +03:00
Omar Emara
30643fcf9b Fix: Bloom glare crashes when image is too small
The Bloom mode of the Glare node crashes if the input image is too
small. This is because bloom is computed using a down-sampling followed
by an up-sampling chain, and if the user supplied size is not maximum,
the computed chain length might be zero or negative, which is not
handled gracefully. To fix this, we just sanitize the chain length.

Pull Request: https://projects.blender.org/blender/blender/pulls/124089
2024-07-03 11:27:26 +02:00
Bastien Montagne
ff4fcb5169 Cleanup: Unused variables in release, non-assert builds. 2024-07-03 10:55:06 +02:00
Campbell Barton
b615091256 Merge branch 'blender-v4.2-release' 2024-07-03 16:57:15 +10:00
Campbell Barton
463c05b341 Extensions: fix missing redraw after setting tags, report adding a repo
- Report when a repository is added since it's not so clear from the
  popup that a new repository has been added.
- Fix for missing redraw after selecting all/none tags.
- Also access the tags property once instead of getting it for each
  button.
2024-07-03 16:56:01 +10:00
Campbell Barton
9da4f557f1 Merge branch 'blender-v4.2-release' 2024-07-03 16:05:49 +10:00
Campbell Barton
e2b24904c9 Extensions: add buttons to select tags
This is for convenience since manually selecting all/none is tedious.
2024-07-03 15:55:20 +10:00
Jesse Yurkovich
ca9db38014 Hydra: Update Storm reference images for both Hydra and USD variations 2024-07-02 17:45:00 -07:00
Hans Goudey
e26e62597d Cleanup: Sculpt: Use C++ math types/functions in displacement smear 2024-07-02 14:34:19 -04:00
Hans Goudey
4763aeff9e Cleanup: Sculpt: Specialize displacement smear vertex neighbor iteration
Part of #118145.
2024-07-02 14:34:19 -04:00
Hans Goudey
d289a1b2e6 Refactor: Sculpt: Displacement smear factors calculation
Part of #118145.
2024-07-02 14:34:19 -04:00
Hans Goudey
db73ef0f2f Sculpt: Refactor displacement smear previous displacement storage
Part of #118145.
Multithread the loop over all grid vertices, replace the PBVH vertex
iterator macro, and avoid subtractingt the limit positions in the first
loop, since we do that later anyway.
2024-07-02 14:33:42 -04:00
Hans Goudey
527e18043c Refactor: Subdiv: Add utility to evaluate all limit points in a grid 2024-07-02 14:33:42 -04:00
Hans Goudey
90049e15d6 Refactor: Sculpt: Replace iterator macro in displacement smear brush
Part of #118145.
2024-07-02 14:33:42 -04:00
Hans Goudey
68444b8906 Cleanup: Sculpt: Move displacement smear brush to separate file 2024-07-02 14:33:42 -04:00
Hans Goudey
f3d91645b0 Cleanup: Sculpt: Use utility to make node vertex array offsets 2024-07-02 14:33:42 -04:00
Hans Goudey
146d6dcf9a Sculpt: Data oriented refactor for pinch brush
Part of #118145.
Reuse the projection utility from the crease brush.
2024-07-02 14:33:42 -04:00
Jacques Lucke
fcfc42ee83 Merge branch 'blender-v4.2-release' 2024-07-02 20:33:01 +02:00
Jacques Lucke
edd1749e22 Fix #124049: object losing user count in geometry nodes modifier 2024-07-02 20:32:24 +02:00
Clément Foucault
8718aa5513 Fix: EEVEE: Film: Sub-optimal sampling at lower filter size
The `sample_disk` returns samples inside a disk of radius 1
which was spanning 2 pixels. The blackmann-haris filter has
not much energy at the edge of the filter and since we
don't importance sample the filter, we have very low weight
samples at some time steps. Improve this by biasing the
distribution towards the center.

This is a temporary solution until we have proper importance
sample of the filtering function for this case.

Fix #123630
2024-07-02 20:31:20 +02:00
Clément Foucault
04b460317a Fix: EEVEE: Missing diffuse indirect lighting
Cause by lightprobe volume cache size change.

This was missing a simple update tagging for
the world to be reuploaded.
2024-07-02 18:07:09 +02:00
Omar Emara
39b47318e5 Compositor: Add warning about unsupported texture nodes
Add a warning to the compositor Texture node about the fact that texture
nodes are not supported.
2024-07-02 18:51:38 +03:00
Omar Emara
7dfc16141c Merge branch 'blender-v4.2-release' 2024-07-02 18:13:28 +03:00
Omar Emara
5a56a56435 Fix: Missing compositor texture node updates
The output of the Texture node in the compositor does not update when
the texture settings or the texture type is adjusted. That's because
texture evaluations are cached, and the cache is not invalidated when
needed.

This happens because we rely on the depsgraph to tag changes to textures
so that the cache is invalidated. The tagging doesn't happen because the
texture ID is actually not part of the depsgraph in some cases. This is
so because the Texture ID property in the node does not update depsgraph
relations when it changed, so the depsgraph is out of sync with the node
tree.

This patch fixes that by invoking a depsgraph relations updates when
ever an ID property used by the compositor is changed.

Pull Request: https://projects.blender.org/blender/blender/pulls/124050
2024-07-02 17:11:29 +02:00
Omar Emara
29451489ae Cleanup: Render: Restructure compositor render code
This patch cleanup and refactors the render pipeline compositor render
code to deduplicate code and clarify usage.

The unused this_scene arguemenet was removed, per-node functions were
introduced to simplify loops, C++ Set was used instead of GSet, and
scene change is now detected by any rendered scene in the set.

Pull Request: https://projects.blender.org/blender/blender/pulls/124028
2024-07-02 17:10:27 +02:00
Miguel Pozo
9f91ca66bc Merge branch 'blender-v4.2-release' 2024-07-02 17:09:04 +02:00
Miguel Pozo
9691ff004a Fix #122456: EEVEE: Reset history on volume updates
Pull Request: https://projects.blender.org/blender/blender/pulls/123916
2024-07-02 17:07:43 +02:00
Miguel Pozo
961dcf29ee Merge branch 'blender-v4.2-release' 2024-07-02 17:01:01 +02:00
Miguel Pozo
b0fbd550e0 Fix #124011: GPU: Broken specialization constants
Don't store pointers to `blender::Map` items since, unlike `std::map`,
they're not guaranteed to stay valid.
This resulted in shader binaries being loaded into the wrong
specialization.

Pull Request: https://projects.blender.org/blender/blender/pulls/124051
2024-07-02 16:59:22 +02:00
Bastien Montagne
6d68f82398 Merge branch 'blender-v4.2-release' 2024-07-02 16:52:15 +02:00
Brecht Van Lommel
f8e78b8236 Refactor: Move Linux/macOS harvest to individual files
More closely matching Windows and easier to update.

Pull Request: https://projects.blender.org/blender/blender/pulls/123196
2024-07-02 16:49:22 +02:00
Bastien Montagne
570eee1717 Debug: Add new userpref option to enforce recompute of ID usercount on filesave.
This is a workaround to allow user to keep working without loss of data
when an issue like #124049 happens.

This commit also expose again the `use_all_linked_data_direct` debug
option, no idea why that one was removed.
2024-07-02 16:46:19 +02:00
Clément Foucault
d8fef30b36 Fix: EEVEE: Broken object attributes on volume, pointcloud and curves
This was a simple oversight.

Also adding a version of `extract_object_attributes` for
single material object.

Fixes #123997
2024-07-02 16:41:12 +02:00
Sergey Sharybin
368143c4f2 Merge branch 'blender-v4.2-release' 2024-07-02 16:03:21 +02:00
Alaska
f3fb3a9ecd Cycles: Update device entries more often
This resolves two issues:
1. On macOS the GPU Compute device would be disabled by default unless
the user opens user preferences. This is unexpected behaviour ever
since 09ba1486f8224
2. Fixes incorrect automatic denoiser display settings and errors in
terminal related to the denoising UI on macOS if the user hasn't opened
user preferences.

Pull Request: https://projects.blender.org/blender/blender/pulls/123911
2024-07-02 16:02:53 +02:00
Sergey Sharybin
de6037c43d Merge branch 'blender-v4.2-release' 2024-07-02 15:59:33 +02:00
Jeroen Bakker
4394b87012 Vulkan: Add support for barycentric coordinates
Barycentric coordinates are used for the wireframe shader. It was
already implemented, but was made broken or when we change the depth
range or when we added support for fallback of shader viewport/layer
rendering. The previous implementation didn't use the correct
EmitVertex leading to incorrect depths. Also the shader layouts where
not Vulkan compliant.

![image](/attachments/39fbfd9e-16fd-42d8-9520-3d8fa839e7de)

Pull Request: https://projects.blender.org/blender/blender/pulls/124048
2024-07-02 15:59:16 +02:00
Alaska
4961b93136 Cycles: Fix crash using OptiX denoiser with unsupported device selected
Fixes an issue where Blender would crash if the OptiX denoiser was
selected, but an unsupported GPU device (E.g. Intel GPU) was
selected in preferences.

This crash would occur because Cycles uses the device in preferences
to setup the denoiser, and there was no check stopping an unsupported
GPU from being used to try and setup and run the denoiser.

Pull Request: https://projects.blender.org/blender/blender/pulls/124001
2024-07-02 15:58:56 +02:00
Iliya Katueshenock
3f6d9fa00d Fix #123971: Geometry Nodes: Offset Point in Curve incorrect result
There is was UB due to using of mapped vertex index as index of
offset instead of do read offsets and indices in the same way.

Pull Request: https://projects.blender.org/blender/blender/pulls/124035
2024-07-02 15:50:31 +02:00