Commit Graph

146389 Commits

Author SHA1 Message Date
Clément Foucault
144045cf63 Cleanup: DRW: Remove unused options 2025-02-11 13:03:00 +01:00
Clément Foucault
9bded245cc Cleanup: DRW: Remove global access function DRW_viewport_pixelsize_get 2025-02-11 13:02:54 +01:00
Clément Foucault
09e7e878e6 Cleanup: DRW: Remove unused legacy DRWViewport*List 2025-02-11 12:58:32 +01:00
Clément Foucault
ff34648011 Grease Pencil: Merge GPENCIL_PrivateData into GPENCIL_Instance
No functional change. Simplify architecture.
2025-02-11 12:56:00 +01:00
Clément Foucault
623c81c7ec Fix: GPU: Broken gizmo color
Some unrelated change was brought back inside
86b70143d5

Revert the offending change.
2025-02-11 12:54:20 +01:00
Falk David
bf072eeb08 Fix: Grease Pencil: Mask icon for layer groups is not correct
This was probably caused by 3ef2ee7c53.
Now `build_layer_group_buttons` doens't need to
select a specific icon anymore. It's handled by the
RNA property.
2025-02-11 12:26:43 +01:00
Clément Foucault
95305b2dc5 Fix: SelectID: Broken shader compilation on Metal 2025-02-11 12:19:23 +01:00
Lukas Tönne
d01f2e232b Fix ASAN warnings in node socket forward compatibility code
These are due to casting a nullptr to an `ID`, which is valid but
confuses ASAN. `reinterpret_cast` avoids this.

Pull Request: https://projects.blender.org/blender/blender/pulls/134386
2025-02-11 12:15:54 +01:00
Sebastian Parborg
fec27eded6 Merge branch 'blender-v4.4-release' 2025-02-11 11:40:41 +01:00
Sebastian Parborg
dfb1b58681 Libs: Update to 4.4 Linux libs
See #128577 for more information

Pull Request: https://projects.blender.org/blender/blender/pulls/134340
2025-02-11 11:39:57 +01:00
Pratik Borhade
8fc493f321 Fix #134182: Regression: Enabling Tweak disappears NLA strip
Likely caused by d94a56bdad. In `ANIMDATA_FILTER_CASES` macro,
function call to `animfilter_nla` is not made due to legacy action
condition checks. Since legacy actions are already converted to new
layered action structure in `convert_legacy_animato_actions`, it seems
safe to remove those conditions from macro.

Pull Request: https://projects.blender.org/blender/blender/pulls/134209
2025-02-11 11:35:31 +01:00
Campbell Barton
d251081448 Merge branch 'blender-v4.4-release' 2025-02-11 21:33:07 +11:00
Campbell Barton
f2a1c8d77c Fix writing a blend file to a directory "versioning" the path
Writing a blend file to a path that references a directory wasn't
being handled correctly.

When the save "versions" was greater than zero the directory would
be renamed (adding a 1), otherwise there would be a
"Version backup failed" error.

Resolve by exiting with an error in the unlikely event the user saves
over a directory.

Part of a fix for #134101.

Ref !134384
2025-02-11 21:32:06 +11:00
Falk David
4229d7fa65 Grease Pencil: Python: Add next/prev_node to GreasePencilTreeNode
This adds two properties `next_node` and `prev_node` to the
`GreasePencilTreeNode` RNA struct.

This reflects how the tree nodes are stored in DNA (as a linked list).

Pull Request: https://projects.blender.org/blender/blender/pulls/134353
2025-02-11 10:32:48 +01:00
Campbell Barton
10b2ac174a Merge branch 'blender-v4.4-release' 2025-02-11 18:33:58 +11:00
Campbell Barton
29076ebd75 UI: avoid potential error accessing freed memory 2025-02-11 17:21:02 +11:00
Campbell Barton
968909d57c Cleanup: rename RNA parameter to clarify its meaning
This flag is only used when classes are registered,
avoid confusion by renaming to `PARM_PYFUNC_REGISTER_OPTIONAL`.
2025-02-11 16:31:42 +11:00
Campbell Barton
9f84c6beb6 Cleanup: remove redundant use of PARM_PYFUNC_OPTIONAL
This is only used for registration, as long as PARM_REQUIRED isn't set
function arguments are assumed to be optional.
2025-02-11 16:14:54 +11:00
Campbell Barton
df24ef3dee Cleanup: remove unused function 2025-02-11 13:43:57 +11:00
Campbell Barton
c0b9814c07 Cleanup: quiet warnings & simplify Popen use in project_source_info 2025-02-11 13:42:09 +11:00
Campbell Barton
ad4eb66fdf Tools: add OUTPUT_DIR option to the "check_cppcheck" target
- Add optional `--build-dir` & `--output-dir` arguments to
  "static_check_cppcheck.py".
- Support using `project_source_info.py` without the CWD having
  to be the build-directory.
- Make the script executable.
2025-02-11 13:07:36 +11:00
Campbell Barton
60ef321e6d Merge branch 'blender-v4.4-release' 2025-02-11 12:12:37 +11:00
Campbell Barton
dab47b83a8 Cleanup: de-duplicate numbered key definition with loop 2025-02-11 12:09:19 +11:00
Campbell Barton
c9bbc767db Docs: correct context.temp_override example
Address #134296
2025-02-11 10:51:05 +11:00
Clément Foucault
ad7b8d5b4c Metal: Ensure that storage buffer reads are synchronized on Intel Macs
There seems to be a pattern where this commonly failed.

This patch adds the async flush (which is effectively not async)
when there were no previous call to `async_flush_to_host`.
This is only done on Intel Macs (or any mac that has non
unified memory arch).

Pull Request: https://projects.blender.org/blender/blender/pulls/134216
2025-02-10 20:44:08 +01:00
Brecht Van Lommel
ff6ec94226 Merge branch 'blender-v4.4-release' 2025-02-10 19:56:17 +01:00
Brecht Van Lommel
f63c192543 Fix: Cycles OptiX with OSL 1.14 failure in some render tests 2025-02-10 19:34:24 +01:00
Clément Foucault
7a284a5eb9 Merge branch 'blender-v4.4-release' 2025-02-10 19:00:09 +01:00
Clément Foucault
4e6f5d43b0 EEVEE: Update Metal Blocklist to make GPU tests pass
`environment_mirror_ball.blend` and `image.blend` are both
failling because of mipmap/anisotropic filtering differences
on apple silicon.

The volume tests has issues with lightprobe baking.

Blocking them until we have a workaround.
2025-02-10 18:58:47 +01:00
Sean Kim
08e53db413 Merge branch 'blender-v4.4-release' 2025-02-10 09:55:13 -08:00
Nicola
92c89b504b Fix: Ignore original plane and normal when brush type is Plane
The `Plane` brush type does not use the original plane/normal
parameters. However, these parameters can be incorrectly retained when
switching type to `Plane` from another brush type where they were
enabled. This commit ensures that they are ignored for the `Plane` brush
type.

Pull Request: https://projects.blender.org/blender/blender/pulls/134255
2025-02-10 18:54:05 +01:00
Hans Goudey
7ab3087751 Cleanup: Remove unused CMake dependencies for CSV import 2025-02-10 12:23:50 -05:00
Hans Goudey
f01af5f972 Geometry Nodes: Remove extra copy step in CSV import node
Remove intermediate `CsvData` struct and create a point cloud
directly instead. Though the bottleneck is almost certainly parsing
the file, this removes a copy for the attribute values and reduces
peak memory usage.

Also do some small cleanups to the import process: use C++
casting, prefer StringRef over std::string, remove unnecessary
whitespace, and remove non-helpul comments.
2025-02-10 12:19:45 -05:00
Hans Goudey
78da0dda87 Cleanup: Warning in format string in CSV importer 2025-02-10 12:19:45 -05:00
Hans Goudey
ef8e85c436 Cleanup: Remove unnecessary indirection in CSV importer 2025-02-10 12:19:45 -05:00
Hans Goudey
7605382204 Cleanup: Include in CSV import header 2025-02-10 12:19:45 -05:00
Clément Foucault
a961c9050d Cleanup: GPU: Remove dependency on legacy common_math_lib.glsl
Replace usage of `common_math_lib.glsl` (deprecated) with gpu shader libs.

Pull Request: https://projects.blender.org/blender/blender/pulls/131579
2025-02-10 18:14:50 +01:00
Habib Gahbiche
e6260ac9f5 Fix #134107: Snapping while resizing nodes not working
The grid size varied depending on the UI scale. This caused unintended behavior with snapping while resizing nodes.

Pull Request: https://projects.blender.org/blender/blender/pulls/134123
2025-02-10 17:56:22 +01:00
Falk David
3ef2ee7c53 Grease Pencil: Python: Add base class for layer and layer groups
This adds a base class for `GreasePencilLayer` and
`GreasePencilLayerGroup` called `GreasePencilTreeNode`.

This reflects how the data is structured in DNA. Properties
that are shared among layers and groups are part of the
tree nodes. Examples are `name`, `hide`, `select`, etc.

This should not be a breaking change. Addons are expected
to work as they were before.

With this change, layer groups now also have access to the
`channel_color` and `select` property.

Pull Request: https://projects.blender.org/blender/blender/pulls/134348
2025-02-10 17:56:19 +01:00
Lukas Tönne
9842ecb6b8 Fix #134309: Grease Pencil: SVG export crashes on constructive modifiers
The use of `GeometryDeformation` is incorrect for computing the bounds:
It contains _evaluated_ positions for the _original_ points, but does not
match the size of evaluated geometry after constructive modifiers like
Line-Art. For the bounds the evaluated positions should be used as-is.

Pull Request: https://projects.blender.org/blender/blender/pulls/134325
2025-02-10 17:49:51 +01:00
Julian Eisel
22e5b774c6 Merge branch 'blender-v4.4-release' 2025-02-10 17:46:54 +01:00
Julian Eisel
ed0d01c5af UI: Remember scroll offset for tree-views
f0db870822 added support for tree-views to remember state, but only to
remember their custom height for the start. This change makes the scroll
offset be remembered too.

Not remembering the scroll offset can be very annoying in some cases,
e.g. when working with bone collections and changing the active tab in
the properties editor often. In realistic, non-trivial bone collection
set ups this can lead to a lot of repeated scrolling.

Cherry-picked for the 4.4 release since this solves a real usability
issue with trivial changes. Discussed with Thomas and others.
2025-02-10 17:43:53 +01:00
Clément Foucault
86b70143d5 Cleanup: GPU: Remove unused Transform Feedback implementation
Most of the cleanup is inside the metal backend.

Pull Request: https://projects.blender.org/blender/blender/pulls/134349
2025-02-10 17:30:42 +01:00
Devashish Lal
1a62fdc82a Geometry Nodes: CSV import node
This commit implements a node to import CSV files as a point cloud.
The interface is minimal, with just a file path input. The type of each
column is chosen by whether the first value is an integer or a float
(those are currently the only supported types).

The goal of the node is to make it easier to get arbitrary data into
geometry nodes for visualization purposes, for example.

https://devtalk.blender.org/t/gsoc-2024-geometry-nodes-file-import-nodes/34482

Pull Request: https://projects.blender.org/blender/blender/pulls/126308
2025-02-10 16:56:52 +01:00
Brecht Van Lommel
2f44765bc8 Merge branch 'blender-v4.4-release' 2025-02-10 16:52:04 +01:00
Brecht Van Lommel
d9ea0e0a29 Fix: Cycles oneAPI kernel not rebuilding when the compiler is updated
This is not a complete solution because there may be indirect changes
to the compiler other than the binary that require a rebuild, but this
should catch the simple cases at least.
2025-02-10 16:41:10 +01:00
Bastien Montagne
8e4ce714e7 Merge branch 'blender-v4.4-release' 2025-02-10 16:32:30 +01:00
Bastien Montagne
34b6faf85a I18N: Updated UI translations from git/weblate repository (61ec90aad9638d). 2025-02-10 16:31:56 +01:00
Falk David
3c075a6c56 Merge branch 'blender-v4.4-release' 2025-02-10 16:26:11 +01:00
Janne Nylander
7451a1d016 Fix unreported: Grease Pencil "Add Masking Layer" operators duplicate check always returned nullptr
Original code used the wrong type of `BLI_findstring` function, leading
to the parameters being read incorrectly and the `MaskingLayer `duplicate
check working incorrectly.

This PR changed `BLI_findstring` to `BLI_findstring_ptr`, resulting in the
`LayerMask` names being read correctly and the duplcate check working
as expected.

Pull Request: https://projects.blender.org/blender/blender/pulls/134295
2025-02-10 16:25:29 +01:00