Commit Graph

120055 Commits

Author SHA1 Message Date
Campbell Barton
828f60b742 Fix check that only Control was pressed ignoring OsKey 2024-11-05 23:26:20 +11:00
Jeroen Bakker
e5dcb019a9 Merge branch 'blender-v4.3-release' 2024-11-05 13:23:05 +01:00
Jeroen Bakker
fe8bc5100d Cleanup: Remove compilation warning
Introduced by !129775

Pull Request: https://projects.blender.org/blender/blender/pulls/129855
2024-11-05 13:22:18 +01:00
Campbell Barton
e8fd1746ef Merge branch 'blender-v4.3-release' 2024-11-05 23:05:48 +11:00
Campbell Barton
8bf245ad51 Merge branch 'blender-v4.3-release' 2024-11-05 23:05:43 +11:00
Campbell Barton
e071bf4690 Fix #129607: Armature "Assign to Collection" crashes with defaults
Armature::collection_array was indexed with -1,
returning an invalid collection.

When the collection index isn't usable, create a new collection
with the default name.

Ref !129608
2024-11-05 23:00:31 +11:00
Campbell Barton
b53c20db25 EEVEE: remove DNA/RNA for values that are no longer in use
Remove values from EEVEE which are no longer used.

Ref !129832
2024-11-05 23:00:29 +11:00
Omar Emara
b3a603ff1e Revert "Fix: Blender crashes opening a file with compositor"
This reverts commit 0a70360eb6. That's
because it caused issue #129366 which is much more serious, and the
cause is not obvious so far. Another fix will be submitted for the
original issue.
2024-11-05 13:55:48 +02:00
Jeroen Bakker
66c7c6959a Merge branch 'blender-v4.3-release' 2024-11-05 12:45:01 +01:00
Jeroen Bakker
b18a460ad7 Fix #129265: Clearing depth attachments on AMD official driver
When using AMD official driver clearing depth attachments can fail.
I assume it is related to previous pipeline states and dynamic rendering
that don't require the correct pipeline state for clearing depth
attachments.

![image](/attachments/e5b97c3b-2551-4600-8cbe-4c8fc71d9feb)

Co-authored-by: jeroen@blender.org <Jeroen Bakker>
Pull Request: https://projects.blender.org/blender/blender/pulls/129852
2024-11-05 12:44:17 +01:00
Pratik Borhade
6cdac7bab8 Fix #129297: Gizmo missing for unlocked layer when autolock inactive is on
`set_active_node` call from `grease_pencil_copy_data` resets inactive
layer again as locked before executing the drawing code. Since property
is only operated on layers, it is possible to remove the code from
`set_active_node()` and only have it in `set_active_layer()`.

Pull Request: https://projects.blender.org/blender/blender/pulls/129465
2024-11-05 12:29:51 +01:00
Bastien Montagne
93949b3433 Merge branch 'blender-v4.3-release' 2024-11-05 12:28:54 +01:00
Bastien Montagne
6ba58a8303 Fix (unreported) unclear potential invalid readfile behavior on unknown BHead type.
This was likely never an issue so far, as no ID type has ever been
removed (that was written in blendfiles at least), and no new BHead type
has been added since ages.

However, current behavior of the main loop in the readfile code (in
`blo_read_file_internal`) is to consider any BHead type which is not
explicitely known and handled, to be an ID BHead, and directly try to
load it as such.

This commit addresses that potential issue by validating that a BHead
code actually matches a known ID type before trying to use it to read an
ID from the file.

Issue identified while working on designs for future 5.0 forward
compatibility breaking changes in blendfile format itself.

Pull Request: https://projects.blender.org/blender/blender/pulls/129693
2024-11-05 12:26:25 +01:00
Julian Eisel
d8680e9476 Merge branch 'blender-v4.3-release' 2024-11-05 12:06:47 +01:00
Philipp Oeser
a3b04dffbc Fix #129798: GPv3: Selection to Cursor/Grid missing immediate update
Missing in db1443249c.

Need to tag positions as changed.
Also send `ND_DRAW` notifier to be sure we fully redraw (makes e.g.
gizmos update accordingly as well).

Pull Request: https://projects.blender.org/blender/blender/pulls/129848
2024-11-05 11:12:22 +01:00
Iliya Katueshenock
74f98b1e92 Fix: Geometry Nodes: crash when converting layers to instances
The crash/assert happened because the case when there are instances already was not handled.

Pull Request: https://projects.blender.org/blender/blender/pulls/127299
2024-11-05 11:05:28 +01:00
Hans Goudey
39ecbe496d Merge branch 'blender-v4.3-release' 2024-11-05 10:02:52 +01:00
Marco Rotili
5c572f01cf Fix #129461: Sample index geometry node does not support Grease Pencil
The sample index node specifies the supported geometry types and Grease
Pencil was missing. Note that only the layer domain will work since it's
the only domain accessible by index on GP data directly.

Pull Request: https://projects.blender.org/blender/blender/pulls/129758
2024-11-05 10:00:41 +01:00
Christoph Lendenfeld
103f494062 Fix #129589: Crash when pushing down NLA track
The issue is that the action line may be there, but containing no action,
`bAnimListElem->data` pointer is a nullptr.

caused by b952782a44
In this refactor the function call was changed from
`BKE_action_frame_range_get` which could handle
the case of a nullptr passed to it.

Pull Request: https://projects.blender.org/blender/blender/pulls/129648
2024-11-05 09:38:51 +01:00
Jeroen Bakker
a08151f0f4 Merge branch 'blender-v4.3-release' 2024-11-05 08:07:55 +01:00
Jeroen Bakker
f76410329b Vulkan: Disable Optimizations for Qualcomm
Qualcomm driver can not handle the optimized SPIR-V that Blender
creates. According to their driver engineers this is an issue in
shaderc. As we are late in the release process they asked us to disable
the optimizations.

In Blender 4.4 we are planning to update shaderc what might fix the
issue. This should be retested after the update.

Pull Request: https://projects.blender.org/blender/blender/pulls/129775
2024-11-05 08:05:42 +01:00
Campbell Barton
44be1167f9 Merge branch 'blender-v4.3-release' 2024-11-05 14:09:01 +11:00
Campbell Barton
e3f3e5b801 Merge branch 'blender-v4.3-release' 2024-11-05 14:08:59 +11:00
Campbell Barton
8d90a2afd9 Merge branch 'blender-v4.3-release' 2024-11-05 14:08:57 +11:00
Campbell Barton
007fd95f17 Fix #129578: Crash setting pose mode using Context.temp_override(..) 2024-11-05 13:56:59 +11:00
Richard Antalik
8c3b734560 Fix #129406: Crash on copy to selected for scene input property
RNA update function called from `rna_property_override_apply_default`
does not have access to active `Scene`, so it is explicitly set to null.

Use `ptr->owner_id` instead of scene provided in argument.

Pull Request: https://projects.blender.org/blender/blender/pulls/129562
2024-11-05 03:54:57 +01:00
Clément Foucault
94a5f541c3 GPU: Improve GLSL-C++ compatibility
Add a few missing operator/functions and fix some argument
type deduction problems.
2024-11-05 00:39:10 +01:00
Jesse Yurkovich
c9d50a316b Cleanup: Remove unneeded USD cmake check/guard
In March 2022 this was added as a provision to check/guard the build if
external folks were compiling without USD "Imaging" support [1]

In Feb 2023 code was added which ended up depending on "Imaging"
unconditionally (and probably more at this point) [2]

Since we haven't heard this being a problem so far, and because the USD
build option is enabled by default, let's just remove it.

The test which was added is also removed because the main import/export
code serves as the compile test, and the python test code serves as a
much more sufficient check of actual functionality.

[1] https://archive.blender.org/developer/D14456
[2] Commit  `72a85d976a5781a21166356b24668b8c48d51690`

Pull Request: https://projects.blender.org/blender/blender/pulls/129733
2024-11-04 20:25:29 +01:00
Hans Goudey
10e6fee4ef Fix: Skip mixing enum/reference index attributes in simulation bake
Interpolating these attributes as integer values isn't meaningful or
helpful and is potentially problematic. So far I'd guess this is unlikely
to happen in practice which is why it probably hasn't been noticed yet.

Fixes part of #129691.

Pull Request: https://projects.blender.org/blender/blender/pulls/129809
2024-11-04 20:15:35 +01:00
Hans Goudey
88f945d068 Geometry Nodes: Avoid potential copy of attribute in simulation bake mixing
Only retrieve a mutable copy of the attribute if we're actually able to change it.
If topology changes and there are no IDs, we can't mix the attribute and we
should avoid retrieving it in case it's shared. This is more of a hypothetical
change, I didn't actually observe a real world performance change.

Pull Request: https://projects.blender.org/blender/blender/pulls/129811
2024-11-04 20:07:45 +01:00
Sean Kim
9ceb33fedb Merge branch 'blender-v4.3-release' 2024-11-04 10:52:19 -08:00
Sean Kim
426ed8c61e Fix #129425: Using Voxel Remesh in sculpt mode can crash
When using the Voxel Remesh operator, there are two possible sources of
crashes currently:
* TBB task stealing in nested parallel loops with thread local data
* Null dereference of PBVH data when pushing sculpt undo steps

To fix the former issue, this commit guards the
`threading::parallel_for` internal function with
`threading::isolate_task` to prevent possible task stealing and
corruption of the thread local data.

Additionally, it has the effect of fixing debug asserts inside
`array_utils::gather` due to the this task stealing.

To fix the latter issue, this commit adds a call to
`BKE_sculpt_update_object_for_edit` to ensure that this data is
populated.

Pull Request: https://projects.blender.org/blender/blender/pulls/129704
2024-11-04 19:50:34 +01:00
Ray Molenkamp
8eadc5eb67 Merge remote-tracking branch 'origin/blender-v4.3-release' 2024-11-04 11:45:11 -07:00
Clément Foucault
1bf2b9a0f7 Fix: EEVEE: VR not working
The issue is caused by the new way to compute the projection
matrix that tries to recreate it from view3d properties.
This is needed for proper overscan support.

However, this breaks for VR as the view3d is only partially
setup.

Skip the setup in VR and remove overscan for VR to avoid any
possible issues with it.

This fix avoid changing the behavior of the
`ED_view3d_draw_offscreen` which is exposed from our pyGPU
API. The pyGPU API is kind of broken if using custom
projection matrix + overscan, but that's a different issue.

Fix #125456

Pull Request: https://projects.blender.org/blender/blender/pulls/129813
2024-11-04 19:39:36 +01:00
Sean Kim
0098fb37a8 Merge branch 'blender-v4.3-release' 2024-11-04 09:37:04 -08:00
Sean Kim
ac4570dd55 Fix: Potential data corruption with face set updates
Using array_utils::gather inside an already parallel context with TLS
variables has the possibility of causing data corruption due to task
stealing.

This commit changes them to the sculpt specific gather_mesh_data call
to avoid the nested parallel loop issue.

Pull Request: https://projects.blender.org/blender/blender/pulls/129770
2024-11-04 18:28:32 +01:00
Hans Goudey
5db88ff2e3 Curves: Add method to set curve types to RNA
Currently writing to the curve type attribute directly from Python
doesn't work because it doesn't tag the curve topology changed.
This is a limitation with the Python attribute API that needs to be
solved generally. In the meantime, this commit adds a `set_types`
RNA function. This will have better performance than writing to
the attribute directly anyway.

This is an alternative to #128410 that avoids tying the type to the
addition of curves.

Pull Request: https://projects.blender.org/blender/blender/pulls/129224
2024-11-04 18:25:18 +01:00
Sergey Sharybin
aec4ba39b9 Merge branch 'blender-v4.3-release' 2024-11-04 17:54:52 +01:00
Clément Foucault
b1185a4736 Fix: EEVEE: Volume probe bad shading if resolution is divisible by 3
This was caused by uninitialized values at border. The correct
number of bricks were reserved but only the unpadded volume
was uploaded. Which was not touching the data of the border
bricks if the size was divisible by `IRRADIANCE_GRID_BRICK_SIZE - 1`.

Fix #127215

Pull Request: https://projects.blender.org/blender/blender/pulls/129810
2024-11-04 17:48:23 +01:00
Sybren A. Stüvel
b4f59c5348 Anim: add debug operator for printing anim channel info
Add an operator (`anim.debug_channel_list`) that lists animation channel
info in the terminal.

It's only available in debug builds of Blender, because it's a
developer-only tool. It is not available in a menu, just in the F3
search.

Pull Request: https://projects.blender.org/blender/blender/pulls/129804
2024-11-04 17:10:31 +01:00
Pratik Borhade
7a19fe8f97 Fix #129543: GPv3: Set new group active
Similar to layers when new group is added, mark that group as active.

Pull Request: https://projects.blender.org/blender/blender/pulls/129785
2024-11-04 17:08:40 +01:00
Falk David
a4e0b799c8 Merge branch 'blender-v4.3-release' 2024-11-04 17:04:09 +01:00
Sybren A. Stüvel
822907a68d Fix #127293: GPv3: Show regular keyframes Dope Sheet for GP object data
In the Dope Sheet, show regular keyframes for GreasePencil object data.
The GPv3 transition missed a few cases in the animation
channel/filtering code to add the channels from regular Actions on
GreasePencil data blocks.

Pull Request: https://projects.blender.org/blender/blender/pulls/129807
2024-11-04 17:03:19 +01:00
Philipp Oeser
bdfb3ea6e7 Fix #129727: GPv3: renaming bones does not rename vertex groups
First issue is that `BKE_modifiers_uses_armature` wasnt working for GP
objects and the second one is that vgroup names are stored in
CurvesGeometry for GP (so that needs special handling, now done, same as
in `BKE_object_defgroup_set_name`).

Pull Request: https://projects.blender.org/blender/blender/pulls/129794
2024-11-04 17:00:51 +01:00
Sybren A. Stüvel
6f0cd39eab Fix: GPv3: Crash in transform snapping code
Fix a crash in transform snapping code, where NLA retiming was attempted
on Grease Pencil frames.

Pull Request: https://projects.blender.org/blender/blender/pulls/129808
2024-11-04 16:44:18 +01:00
Omar Emara
b9dbf2959d Fix: Crash with a BadAccess X_GLXMakeCurrent error
Blender crashes when opening files that invokes the interactive
compositor on file load with a BadAccess X_GLXMakeCurrent error.

This is caused by the same system GPU context being active in two
threads at the same time, which happens when the GPU context for the
compositor is created in the main thread, it is made current during
creation, but it is not reset to the main GPU context of the drawable
because it is null. So when the GPU compositor actually executes, it
makes the GPU context current again but in its own thread, causing a
BadAccess error in X11 and potentially other window systems.

So the root cause is that the drawable is nullptr, and an attempt to fix
this was committed in 0a70360eb6 but was reverted in 98722773da because
it caused serious issue that were not obvious.

This patch attempts another fix by simply releasing the system GPU
context created when calling the RE_system_gpu_context_ensure. This is
more robust anyways because callers do not expect the context to be
bound form an API point of view.

Pull Request: https://projects.blender.org/blender/blender/pulls/129793
2024-11-04 16:17:17 +01:00
Omar Emara
dc4155e133 Merge branch 'blender-v4.3-release' 2024-11-04 17:12:39 +02:00
Omar Emara
a1b489ec71 Fix #129670: Curves not drawn outside of clip range
Curve maps in nodes like RGB Curves are not drawn nor evaluated outside
of clipping range. This is a regression in 8812be59a4, where the range
of the curve didn't account for points that lie outside of the clipping
range. That's because the table_range variable was initialized before
the loop that updates the minimum and maximum points of the table.

To fix this, we move the table_range initialization after the loop that
updates the minimum and maximum points of the table.

Pull Request: https://projects.blender.org/blender/blender/pulls/129777
2024-11-04 16:11:43 +01:00
YimingWu
ecba71ae91 Fix #129738: GPv3: Build modifier use key frame
Build modifier should start building strokes at a key frame, not always
assume a starting frame of 0.

Frame restriction works the same way as GPv2, which uses absolute
frame number.

Pull Request: https://projects.blender.org/blender/blender/pulls/129774
2024-11-04 15:33:11 +01:00
Pratik Borhade
f6bd812c68 Fix #129671: GPv3: Cut tool not respecting material lock setting
Instead of looping over entire curve range, get editable stroke mask to
iterate on curves for finding out whether they intersect with lasso gesture.

Pull Request: https://projects.blender.org/blender/blender/pulls/129714
2024-11-04 14:04:18 +01:00