Commit Graph

143064 Commits

Author SHA1 Message Date
Omar Emara
e66234b368 Merge branch 'blender-v4.3-release' 2024-11-05 13:56:52 +02: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
Hans Goudey
543132497c Tests: Add info to "benchmark directory not initialized" error message 2024-11-05 12:10:11 +01:00
Julian Eisel
b95b5e0f77 Assets: Update assets repository hash for essentials library updates
A number of fixes were done for the brushes in the essentials asset
library, update the hash to include them.
2024-11-05 12:08:18 +01:00
Julian Eisel
d8680e9476 Merge branch 'blender-v4.3-release' 2024-11-05 12:06:47 +01:00
Julian Eisel
2f6197daa9 Assets: Update assets repository hash for essentials library updates
A number of fixes were done for the brushes in the essentials asset
library, update the hash to include them.
2024-11-05 12:03:45 +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
YimingWu
334e9be8f4 Fix #129819: GPv3: Context menu for all paint tools
Previously the `W` menu was only available for brush tools (brush and
eraser), it should be available to all tools, thus putting the key map
registering function into `km_grease_pencil_paint_mode`.

Pull Request: https://projects.blender.org/blender/blender/pulls/129837
2024-11-05 10:36:21 +01:00
Hans Goudey
4aa18b7242 Tests: Update test data hash for new geometry node test 2024-11-05 10:34:41 +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
be54e36333 Fix #125816: Clear constraint while action baking not doing visual keying
When doing action baking, the option "Clear Constraints" mentions
it's doing visual keying while not actually using that option.
Just fixing the description, even though a better solution
would be to revisit the design of the options to see if they
even make sense in some configurations.

Pull Request: https://projects.blender.org/blender/blender/pulls/129052
2024-11-05 09:41:29 +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
ca1c06e8c4 Vulkan: Hide behind developer extras
Vulkan backend selection will be hidden behind developer extras. There
are some issues which would not be inviting for users to start testing.

- Some basic functionality are not working (object selection, depth
  testing)
- NVIDIA UI artifacts are annoying and unsure where the error is.
- AMD artifacts
- Memory leaks

The backend will still be part of Blender 4.3 only hidden behind an
additional flag.

Ref: #129265, #129262, #127225, #128624, #127768, #127223
Pull Request: https://projects.blender.org/blender/blender/pulls/129799
2024-11-05 08:06:42 +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
Jesse Yurkovich
ae640bb2ab USD: Add tests for upcoming animated point instancer support 2024-11-04 22:56:33 -08: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
Ray Molenkamp
3469dea422 Windows_X64: Libs Autopep8 1.6.0-> 2.3.1
see #127553 for details
2024-11-04 11:42:36 -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
Patrick Mours
d0dd587b60 Fix #108372: GPU implementation of OSL matrix intrinsic functions
All the OSL matrix functions had been implemented using the
`Transform` utility of Cycles, but that's built around a 4x3 matrix,
when the OSL matrix functions are working with 4x4 matrices.
This resulted in them not producing results consistent with the
CPU implementation.

This fixes that by making use of the `ProjectionTransform` utility
of Cycles instead, because it's built around a 4x4 matrix. Since
matrix inversion is required, I had to make a few more utility
functions available on the GPU (except Metal, due to use of
references/pointers without specification) that were previously
CPU-only.

Co-authored-by: Brecht Van Lommel <brecht@blender.org>

Pull Request: https://projects.blender.org/blender/blender/pulls/110102
2024-11-04 17:59:29 +01:00
Sergey Sharybin
aec4ba39b9 Merge branch 'blender-v4.3-release' 2024-11-04 17:54:52 +01:00
Michael Jones
d1368883ed Cycles: MetalRT: Fix logic bug when deciding if HW RT should be used
Don't try to use MetalRT by default unless the device explicitly reports that RT is supported. We shouldn't just rely on an assumption that it's supported for M3 and beyond, ad infinitum.

Pull Request: https://projects.blender.org/blender/blender/pulls/129688
2024-11-04 17:54:12 +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
Philipp Oeser
adac5c97f0 Fix #129784: GPv3: Non-functiona Trim tool in menus
Accidentally added in d70b10dcd4 and moved in dc652aeedb, the
`GREASE_PENCIL_OT_stroke_trim` operator is meant for usage in draw mode
(as the Cutter tool), but not in editmode. It is not the same as the
GPv2 Trim operator, see 4fbef3dc6b

To resolve, remove this from the menu again.

Pull Request: https://projects.blender.org/blender/blender/pulls/129805
2024-11-04 17:00:05 +01:00