Commit Graph

153179 Commits

Author SHA1 Message Date
Omar Emara
3d7c8d022e Refactor: Nodes: Generalize node tree subtypes
This patch generalizes node tree subtypes to be usable for node trees
other than Geometry Nodes. In particular, this:

- Renames SpaceNode.geometry_nodes_type to node_tree_sub_type, which now
  store a tree type-specific enum.
- Renames SpaceNode.geometry_nodes_tool_tree to selected_node_group,
  which now stores any context-less tree of any type.

This breaks the python API due to renaming.

Pull Request: https://projects.blender.org/blender/blender/pulls/144544
2025-08-21 09:04:13 +02:00
Jeroen Bakker
40f8a36fd5 Fix #144542: Crash Workbench DoF
Attaching mipviews directly on a framebuffer results in a driver crash.
Letting the backend handle the mipviews works around the issue.

This fixes the crash, but seems to point to an issue when attaching
mipviews directly. It also ensured that the shader bound mipviews
cannot be destroyed when new mipviews are ensured.

Pull Request: https://projects.blender.org/blender/blender/pulls/144796
2025-08-21 08:44:21 +02:00
Campbell Barton
f9bf5841fb Cleanup: correction to mark_as_advanced from last commit 2025-08-21 16:18:57 +10:00
Campbell Barton
ecc5930684 Cleanup: mark library directories as advanced on UNIX 2025-08-21 16:15:06 +10:00
Campbell Barton
c6be1e965c Cleanup: suppress array-bounds warning for GCC 15.2.x
The existing suppression from [0] wasn't working for release builds.
Explicitly suppress the warning instead of using a dummy check.

Ref !144898

[0]: 9ad46ebd2f
2025-08-21 06:06:24 +00:00
W_Cloud
d1511506a0 Cleanup: correct comment
Fix one line outdated comment. `NodeGroupColorTag` was renamed to `NodeColorTag` in #131101.

Pull Request: https://projects.blender.org/blender/blender/pulls/144899
2025-08-21 07:57:33 +02:00
Jeroen Bakker
43a2bfa9c3 Vulkan: Add assert for potential driver crash
Pull Request: https://projects.blender.org/blender/blender/pulls/144782
2025-08-21 07:35:15 +02:00
Campbell Barton
3997e36bdb Cleanup: disable -Wnontrivial-memcall for CLANG with remove_strict_flags
Suppresses noisy warnings in extern/bullet/ & extern/mantaflow/.
2025-08-21 14:23:10 +10:00
Campbell Barton
af0002c242 Fix: don't attempt to load unknown arguments as a blend file
When `--gpu-vsync` & `--gpu-compilation-subprocesses` received invalid
arguments, they weren't skipped (typically an attempt to load them as
a bland file would be made).
2025-08-21 14:16:24 +10:00
Campbell Barton
25ec9729dc Build: correct TBB include
`TBB_INCLUDE_DIR` is not meant to be used directly and isn't declared
on Linux. Replace with `TBB_INCLUDE_DIRS`.
2025-08-21 13:37:33 +10:00
Campbell Barton
be5a4606ff Cleanup: quiet use of unknown variable warning in CMake
Also set variables instead of appending as they won't have been defined.
2025-08-21 12:14:54 +10:00
Campbell Barton
2e6fb3e8e7 Cleanup: suppress deprecated-copy warnings 2025-08-21 02:05:34 +00:00
Campbell Barton
fb28091671 Cleanup: quiet array-bounds GCC warning 2025-08-21 02:05:32 +00:00
Campbell Barton
1070d6b64e Cleanup: use SPDX header in CMakeLists.txt generator 2025-08-21 12:02:33 +10:00
Campbell Barton
6361cedd62 Cleanup: remove tools/utils_build/cmake-flags
Since it's inclusion, we have more convenient ways to enable features
such as ASAN. Remove the script since this hasn't been updated in a long
time and would be better off as a 3rd party tool.
2025-08-21 12:02:33 +10:00
Sean Kim
e648f1fcbc Cleanup: Various changes for calc_area_normal_and_center
* Remove `_r` suffix from internal variable
* Use bitflag instead of two booleans for function parameter

Pull Request: https://projects.blender.org/blender/blender/pulls/144597
2025-08-21 03:36:52 +02:00
Sean Kim
884ab7beb6 Fix: Use correct callback for unified paint setting updates
Introduced in bf7c8f1ef3

Pull Request: https://projects.blender.org/blender/blender/pulls/144830
2025-08-20 23:29:37 +02:00
Colin Basnett
ee43c4c782 Fix #144335: Collection asset drag-and-drop creates two undo operations
This fixes https://projects.blender.org/blender/blender/issues/144335 by surrounding the drag-and-drop handling functionality in an undo group.

<video src="attachments/b8ddcb80-cda2-4f5e-83dd-4736dbe7eddd" title="Screencast_20250815_161525.webm" controls></video>

Pull Request: https://projects.blender.org/blender/blender/pulls/144630
2025-08-20 23:24:51 +02:00
Brecht Van Lommel
1d9bd460fc Fix #144814: Cycles OSL crash accessing geom:name string attribute
This should be a ustring hash now, not a ustring.

Pull Request: https://projects.blender.org/blender/blender/pulls/144881
2025-08-20 21:00:12 +02:00
Sean Kim
abe1b9d895 Cleanup: Rename BKE_paint_brush_poll to BKE_paint_can_use_brush
The prior naming is a bit confusing given that it returns `true` if
`brush` is `nullptr`. My initial expectation on reading the old name is
that it would only return true if both are non-null.

Pull Request: https://projects.blender.org/blender/blender/pulls/144822
2025-08-20 20:59:28 +02:00
Brecht Van Lommel
98e9dd1aa2 Revert "Cycles: Simplify Metal backend with direct bindless resource encoding"
This reverts commit b4be954856.

It is causing render artifacts in the barbershop benchmark. There were some
conflicts to resolve when reverting this, mainly related to the removal of
3D textures.

Fix #144713
Ref #140671, #144712

Pull Request: https://projects.blender.org/blender/blender/pulls/144880
2025-08-20 20:53:40 +02:00
Maxime-Cots
7a01f736a5 Nodes: Make context path breadcrumbs interactive
Make it possible to navigate in/out node groups through the breacrumbs
context path overlay.

See PR for details and screenshots.

Pull Request: https://projects.blender.org/blender/blender/pulls/141292
2025-08-20 17:53:34 +02:00
Hans Goudey
8b9e667eab Revert "Sequencer: Avoid storing un-tracked pointers in blend files"
This reverts commit 58554964e4.
Caused unexpected test failures, may need more review.
2025-08-20 11:31:02 -04:00
Aaron Carlisle
4560e60670 UI: Add Scene/ViewLayer selectors to Properties tabs
Add Scene and View Layer selectors to the Scene and View Layer tabs
in the Properties Editor, matching the existing controls in the topbar.

See PR for details and screenshots.

Pull Request: https://projects.blender.org/blender/blender/pulls/143266
2025-08-20 17:12:46 +02:00
Alaska
41d4b945d3 Fix: Missing space in Unbiased volume tooltip
_No response_

Pull Request: https://projects.blender.org/blender/blender/pulls/144871
2025-08-20 16:51:02 +02:00
Hans Goudey
58554964e4 Sequencer: Avoid storing un-tracked pointers in blend files
Currently, sequencer structs contain several pointers to data within
other structs. These pointers need to be remapped as the structs are
reallocated when reading from blend files. That has worked so far
because the pointers are exactly the values from the Blender session
that saved the file. WIth the implementation of #127706, the pointers
in the file aren't "real" anymore, and we can't offset them to get the
struct that contained the data.

This commit replaces these 4 mid-struct pointers to point to the
containing strips instead, and uses some trivial logic to access the
fallback root sequence channels and strips. This makes the pointer
remapping on file load possible again.

The downside is that this isn't strictly backward or forward compatible,
but only on a UI-level. The active meta-strip information will be lost,
and the sequencer will reset to displaying the root sequence.

Depends on #144624

Pull Request: https://projects.blender.org/blender/blender/pulls/144626
2025-08-20 16:49:41 +02:00
Bastien Montagne
9df3b1cd06 Benchmark: Fix bpy/RNA broken 'bpy props get/set' tests, add FloatVectorProperty one.
Not sure why it did not error with the other bpy prop types... It did
was slowing things a lot though, get/set logic was failry broken.
2025-08-20 16:37:52 +02:00
Hans Goudey
4d6646c91e Fix #143958: Dynamic paint crash due to thread-unsafe brush mesh writing
Alternative to #144563.
This fix adds a lock to the runtime data, and holds the lock whenever the
brush mesh is accessed. While there may be more efficient solutions,
dynamic paint is at the end of its life and guaranteeing correctness is
more important.

Pull Request: https://projects.blender.org/blender/blender/pulls/144816
2025-08-20 16:23:26 +02:00
W_Cloud
8d6c717e34 UI: Nodes: Add icons to data type menus
Add icons to more data type menus, similar to how it is done for
Switch, Index Switch, Compare, etc.

See PR for details and screenshots.

Pull Request: https://projects.blender.org/blender/blender/pulls/143779
2025-08-20 16:14:32 +02:00
Hans Goudey
89c5702d12 Fix: Reference binding to null pointer in normals-calc_corner
Mistake in ca60419b3a
2025-08-20 09:56:35 -04:00
Miguel Pozo
b2b23e3619 Fix #144526: Crash on exit with Video_Editing template
The crash is caused by libepoxy GL functions pointing to nullptrs.
libepoxy "Automatically initializes as new GL functions are used.",
so to call a function without a GL context bound, the function must
have been called before with a bound context.

This PR ensures there's a valid GL context bound for the whole
`WM_exit` scope.

(4.5 backport candidate)

Pull Request: https://projects.blender.org/blender/blender/pulls/144572
2025-08-20 15:48:20 +02:00
Mohamed Hassan
b7742e6988 Compositor: Add Jitter input to Glare Sun beams
This patch introduces a new Jitter option for the Sun Beams mode of the
Glare node. If non-zero, is uses an approximation that is faster to
compute but makes the result more noisy.

Internally, this is computed by reducing the number of samples used to
integrate the results and introducing a random offset during
integration.

Pull Request: https://projects.blender.org/blender/blender/pulls/141789
2025-08-20 15:10:18 +02:00
Philipp Oeser
20d7b5563c Release: Include 4.5 LTS gitea issue in notes generator
Include the issue number so we don't have to specify this for 4.5 versions.

Pull Request: https://projects.blender.org/blender/blender/pulls/144865
2025-08-20 14:54:22 +02:00
Brecht Van Lommel
8138fa3ce3 Fix: Non-existent mask.cursor_set operator in keymap
The mask editor is using uv.cursor_set instead.

Ref #136086

Pull Request: https://projects.blender.org/blender/blender/pulls/144852
2025-08-20 13:33:45 +02:00
Campbell Barton
9cabbe074f Fix #144858: Invalid text selection in the Python console 2025-08-20 21:24:36 +10:00
Bastien Montagne
27a613d9ea Fix: BPY props: broken custom set function for strings.
Another dummy mistake in BPY accessors refactor from yesterday (134d66201a)...
We critically need more unittests in this area!
2025-08-20 12:48:47 +02:00
Clément Foucault
2f2ff44e56 GPU: Shader: Remove legacy creation API
This API is no longer used for 5.0.

Pull Request: https://projects.blender.org/blender/blender/pulls/144819
2025-08-20 09:25:32 +02:00
Alberto12345678999
d803ee4c79 Nodes: Port shader Gamma node to Geometry Nodes
This patch unifies the Gamma node across editors:

- Compositor now uses the Shader Gamma node implementation.
- Geometry Nodes also uses the node as a new addition.
- UI-wise in the Compositor, only socket labels change to "Color".

Forward compatibility is broken for the compositor, and the python API
changed, since the node's ID name is now ShaderNodeGamma as opposed to
CompositorNodeGamma.

Pull Request: https://projects.blender.org/blender/blender/pulls/142414
2025-08-20 08:46:34 +02:00
Campbell Barton
b8ce7d419e Cleanup: use PyErr_SetString when formatting isn't needed 2025-08-20 16:10:54 +10:00
Campbell Barton
9a1af169d9 Cleanup: use bool argument for object_cacheIgnoreClear 2025-08-20 16:10:54 +10:00
Aaron Carlisle
782adf8878 Docs: Update RNA to user manual URL mapping 2025-08-20 00:42:05 -04:00
Aaron Carlisle
2725dfe3d1 Tests: Fix RNA manual look up checks
- RNA Patterns Unknown to the Manual -- only print rna_ids that do not return a URL
- Undocumented Sections -- consider the case of types that do not have props (a lot of nodes were returning as false positives)
2025-08-19 22:31:24 -04:00
Campbell Barton
c45ee0eb98 Cleanup: quiet compiler warnings
Suppressing "null-pointer-subtraction" was needed for clang
but caused a warning with GCC.
2025-08-20 11:18:29 +10:00
Campbell Barton
3a8a379ea2 Cleanup: use camel-case/pascal-case for struct names 2025-08-20 11:01:13 +10:00
Campbell Barton
96a7b37652 Cleanup: spelling in comments (make check_spelling_*) 2025-08-20 10:45:51 +10:00
Campbell Barton
d741e7a21f Docs: mention why paths aren't checked on startup
Follow up to fix for #132460, slow startup from file file-system access
has been removed as it causes problems, then added back since it seems
like a fix if we assume all file-systems are local & online.

Note why this causes problems to prevent the checks being re-introduced.
2025-08-20 10:34:15 +10:00
Sean Kim
8723bd4f58 Cleanup: Change BKE_paint_brush_set to take in const reference
Changes the overload from accepting `const AssetWeakReference *` to
`const AssetWeakReference &` to more strongly indicate proper usage. We
should not have a usecase for setting a null `AssetWeakReference`

Pull Request: https://projects.blender.org/blender/blender/pulls/144821
2025-08-20 00:01:04 +02:00
Casey Bianco-Davis
f5952fd178 Fix: Grease Pencil: Pen Tool does not work with multiple layers
The problem was that `threading::parallel_for` will return a range containing multiple elements even though the grain size is `1`.

Pull Request: https://projects.blender.org/blender/blender/pulls/144826
2025-08-19 22:54:28 +02:00
Sean Kim
6e82e403df Fix: Image Editor can have no default active brush
Prior to this commit, determining the default brush asset used for a
particular mode was based on the object's mode. This is slightly
incorrect for the Image Editor, since it may be in Paint Mode no matter
the underlying object type. To fix this, use the runtime `PaintMode`
enum for determining these default values instead of `eObjectType` and
store the `PaintMode` on `PaintRuntime` for easy access.

Additionally, inside the toolsystem, prevent accidentally unsetting
the default brush by checking for the presence of the asset when
loading an `AssetWeakReference`.

Pull Request: https://projects.blender.org/blender/blender/pulls/144765
2025-08-19 22:44:24 +02:00
Brecht Van Lommel
c7e2368d6c Fix #144528: Cycles renders OpenVDB grids with rotation wrong
Pull Request: https://projects.blender.org/blender/blender/pulls/144825
2025-08-19 21:39:30 +02:00