Commit Graph

150464 Commits

Author SHA1 Message Date
Bastien Montagne
11ca8729cc Merge branch 'blender-v4.5-release' 2025-06-06 11:53:26 +02:00
Bastien Montagne
f6a9f082e9 Core: Add data-level support for new 'system IDprops' storage for Blender 4.5 forward compatibility with 5.0 blendfiles
This mainly adds DNA level IDProp storage for system properties, their
handling in data management code, and the forward-versioning code
copying back content from system properties into 'all-in-one' single
IDProperties storage, for data types that will support both in Blender
5.0.

There is no user-facing changes expected here.

Part of #123232.

Pull Request: https://projects.blender.org/blender/blender/pulls/139257
2025-06-06 11:49:54 +02:00
Andrej730
6e70b755ce Fix: PyAPI Docs: Document more msgbus limitations
Added the following notes to documentation:
- `msgbus` interaction with undo system that particularly makes
 it not completely reliable, since users they easily skip it's effect.
- Details on when and how often message bus updates are triggered.

Pull Request: https://projects.blender.org/blender/blender/pulls/138557
2025-06-06 10:58:23 +02:00
Pratik Borhade
0324ca7f15 UI: Move empty image to Image menu
Empty image was previously part of `Empty menu`. It may fit better
within "Image" menu, see: !134999

Pull Request: https://projects.blender.org/blender/blender/pulls/138121
2025-06-06 10:49:29 +02:00
Jeroen Bakker
35483d86c8 Merge branch 'blender-v4.5-release' 2025-06-06 10:22:11 +02:00
Jeroen Bakker
66d361bd29 Vulkan: Add support for descriptor buffers
Descriptor sets/pools are known to be troublesome as it doesn't match
how GPUs work, or how application want to work, adding more complexity
than needed. This results is quite an overhead allocating and
deallocating descriptor sets.

This PR will use descriptor buffers when they are available. Most platforms
support descriptor buffers. When not available descriptor pools/sets
will be used.

Although this is a feature I would like to land it in 4.5 due to the API changes.
This makes it easier to fix issues when 4.5 is released.
The feature can easily be disabled by setting the feature to false if it has
to many problems.

Pull Request: https://projects.blender.org/blender/blender/pulls/138266
2025-06-06 10:20:36 +02:00
Aras Pranckevicius
507e15d06f Build: remove OpenCollada libs
Point libraries to their repos with OpenCollada removed

Pull Request: https://projects.blender.org/blender/blender/pulls/139920
2025-06-06 09:33:10 +02:00
Julien Duroure
f1b4b689dc Merge branch 'blender-v4.5-release' 2025-06-06 09:27:23 +02:00
Julien Duroure
12ee7eb18e Fix #139904 glTF: Fix typo regression for uri 2025-06-06 09:26:32 +02:00
Aras Pranckevicius
5ad6d42c83 IO: Remove Collada import/export
Removes Collada import/export (has been deprecated since 4.2).

Pull Request: https://projects.blender.org/blender/blender/pulls/139337
2025-06-06 08:38:57 +02:00
Philipp Oeser
65fe5f4b0f Merge branch 'blender-v4.5-release' 2025-06-06 08:10:15 +02:00
Philipp Oeser
ac3afae380 Fix: uninitialized TransData center for Curves proportional editing
When proportional editing around individual origins is used, we would
end up with uninitialized TransData center for points in curves which
have nothing selected.

This is more or less harmless since the center is not even used in that
case (instead the center of the closest point found is used, see logic
in #set_prop_dist /#prop_dist_loc_get).

Still nicer to be clear about this, added some code comments which
hopefully make the situation clearer.

Ref. 1d0c11987f
Ref. #139101

Pull Request: https://projects.blender.org/blender/blender/pulls/139849
2025-06-06 08:09:32 +02:00
Alaska
3a35b26005 Release note tools: Changes for 4.5 branch
This commit adjust the list of official Blender version, and the script
usage example in preparation for the Blender 4.5 and 5.0 split.

Pull Request: https://projects.blender.org/blender/blender/pulls/139823
2025-06-06 08:09:19 +02:00
Dan-Gry
1d37f76b91 Outliner: Keep Transform by default on drag-dropping to parent
A common issue many artists have in Blender is that
parenting/unparenting objects by drag and drop in the Outliner
does not keep the transform by default, need to hold Alt to maintain
transform values.
Since keeping the transform is the expected behavior, this PR will
reverse the behavior. i.e. Holding Alt will not keep the transform
on Parent/Un-Parent.

Pull Request: https://projects.blender.org/blender/blender/pulls/139029
2025-06-06 06:59:55 +02:00
Guillermo Venegas
df75f965d0 Refactor: UI: Add uiLayout default operator call context get and set methods
This converts `uiLayoutSetOperatorContext` and
`uiLayoutGetOperatorContext` function APIs to objects methods
following recent `uiLayout` refactors.

Part of: #117604

Pull Request: https://projects.blender.org/blender/blender/pulls/139890
2025-06-06 06:38:09 +02:00
Campbell Barton
d78af813ac Merge branch 'blender-v4.5-release' 2025-06-06 12:31:01 +10:00
Campbell Barton
8cecf7a79c Fix failure to start with an unknown --gpu-backend
An unknown --gpu-backend argument would attempt to pass that argument
separately which then attempted to treat is as a blend file,
typically failing to start if the file wasn't found.
2025-06-06 12:24:50 +10:00
Campbell Barton
2f897816e4 Merge branch 'blender-v4.5-release' 2025-06-06 10:50:09 +10:00
Campbell Barton
0f78cb5edb Merge branch 'blender-v4.5-release' 2025-06-06 10:49:58 +10:00
Campbell Barton
c4d24e92dd Merge branch 'blender-v4.5-release' 2025-06-06 10:49:54 +10:00
Campbell Barton
f991377d0d Fix missing call to MOV_exit in the animation player
When playing back multiple movies, MOV_init was called
each time without a matching MOV_exit call.
2025-06-06 10:48:25 +10:00
Campbell Barton
db22e6cb8b PyDocs: quiet context member warning without experimental features 2025-06-06 10:48:25 +10:00
Campbell Barton
e8afe173a0 PyAPI: add bpy.app.built_options.experimental_features
Provide a way to check if blender is running WITH_EXPERIMENTAL_FEATURES
defined.
2025-06-06 10:48:25 +10:00
Harley Acheson
546e8bc6f2 Merge branch 'blender-v4.5-release' 2025-06-05 17:02:18 -07:00
Harley Acheson
66763dc6d5 Fix #139903: Don't Check Minimum Size for Areas Not Yet Initiated
New windows with new areas have all their dimensions sized before they
are fully initialized (prior to ED_area_init). No need to check their
minimum size in this state.

Pull Request: https://projects.blender.org/blender/blender/pulls/139908
2025-06-06 02:01:01 +02:00
Sean Kim
da8ff5acd4 Merge branch 'blender-v4.5-release' 2025-06-05 16:17:58 -07:00
Sean Kim
1eadfb1fbf Fix: UnifiedPaintSetting converting values incorrectly
Mistake in 6a03e8249d

Pull Request: https://projects.blender.org/blender/blender/pulls/139905
2025-06-06 01:16:53 +02:00
Jonas Holzman
f3531dcf02 Merge branch 'blender-v4.5-release' 2025-06-06 01:12:18 +02:00
Jonas Holzman
2dd0368dda macOS: Update arm64 and x64 libraries for 4.5
4.5 Library Changes Task: #136540

Pull Request: https://projects.blender.org/blender/blender/pulls/139858
2025-06-06 01:10:56 +02:00
Harley Acheson
864afd76a7 UI: Top Bar Tabs as Pills
Show Top Bar Workspace items as pills (rounded on all sides) rather
than tabs (connected to region edge). This change also raises them
slightly to vertically align with other content, and adds a vertical
bar to separate the sections.

Pull Request: https://projects.blender.org/blender/blender/pulls/137070
2025-06-05 20:51:56 +02:00
Brecht Van Lommel
117a12cc0a Merge branch 'blender-v4.5-release' 2025-06-05 20:37:59 +02:00
Brecht Van Lommel
a4cfd14f0a Fix #137966: oneAPI crash when max texture size is exceeded
Until the texture cache addresses this properly, show a useful error rather
than crashing.

Pull Request: https://projects.blender.org/blender/blender/pulls/139892
2025-06-05 20:37:25 +02:00
Brecht Van Lommel
5905a1309a Fix #139828: Proportional edit connected only fails with some topology
For an initial single selected edge, adjacent edges were not always added
to the queue if there is no face to propagate the distance across.

Pull Request: https://projects.blender.org/blender/blender/pulls/139889
2025-06-05 20:36:31 +02:00
Julian Eisel
37b534967b Fix #137120: Asset catalogs overwitten by pre-existing ones on file save
Main issue was that the handling of catalogs for on-disk libraries
relies on an in memory version of a asset catalog definition file. This
wasn't present for the runtime current file library storage. We can
actually construct this quite easily when converting it from a runtime
to a on-disk library.

Pull Request: https://projects.blender.org/blender/blender/pulls/139881
2025-06-05 19:43:24 +02:00
Julien Duroure
9495d88923 glTF: Update addon version after 4.5 branch creation 2025-06-05 17:55:38 +02:00
Jacques Lucke
513c0494ba Fix #118207: avoid floating point calculations when computing random integer
This changes the way random integers are computed so that there is no
intermediate conversion to float which looses accuracy.

This change breaks compatibility because it changes the generated random
numbers. Therefore this is done in Blender 5.0.

Performance seems to be about ~6% better than before.

Pull Request: https://projects.blender.org/blender/blender/pulls/118795
2025-06-05 17:52:23 +02:00
Christoph Lendenfeld
cae8ac4374 Merge branch 'blender-v4.5-release' 2025-06-05 17:35:36 +02:00
Christoph Lendenfeld
5e5cf21944 Fix #139645: Incorrect preview rendering for screenshot previews
When taking screenshots above a certain size with the
recently introduced screenshot feature, it rendered incorrectly
when the backend was set to OpenGL. (Vulkan was fine)

The issue was that the image was not downscaled to 256
which seems to be the max supported size
for preview renders (`PREVIEW_RENDER_LARGE_HEIGHT`).
Scaling down the image resolves that issue.

Pull Request: https://projects.blender.org/blender/blender/pulls/139879
2025-06-05 17:27:02 +02:00
Mohamed El Shorbagy
9dd02f355d Cleanup: Assert normalized first before performing any operation
Pull Request: https://projects.blender.org/blender/blender/pulls/139408
2025-06-05 15:56:10 +02:00
Thomas Dinges
b92d926c03 Cleanup: Make format 2025-06-05 14:54:26 +02:00
Bastien Montagne
1502f14a04 Add new versioning source file template.
The goal is to help creating this new versioning file, since we now
create a new one for every release cycle.

Pull Request: https://projects.blender.org/blender/blender/pulls/139832
2025-06-05 14:29:18 +02:00
Jeroen Bakker
d49160091a Merge branch 'blender-v4.5-release' 2025-06-05 14:12:11 +02:00
Jeroen Bakker
3a16f3b45f Fix #137909: Vulkan: Recover from allocation errors
When buffers/images are allocated that use larger limits than supported
by the GPU blender would crash. This PR adds some safety mechanism to
allow Blender to recover from allocation errors.

This has been tested on NVIDIA drivers.

Pull Request: https://projects.blender.org/blender/blender/pulls/139876
2025-06-05 14:11:37 +02:00
Bastien Montagne
a405e9ae1e Merge branch 'blender-v4.5-release' 2025-06-05 13:42:34 +02:00
Bastien Montagne
aca960500e Fix PyAPI doc generation: add back a 'context' entry removed by mistake.
Reverts part of 6fbef14f4b.
2025-06-05 13:42:06 +02:00
Campbell Barton
9a79ed5fb4 Merge branch 'blender-v4.5-release' 2025-06-05 21:31:39 +10:00
Campbell Barton
0043a5e25c Merge branch 'blender-v4.5-release' 2025-06-05 21:31:35 +10:00
Campbell Barton
b43b1b16c4 Merge branch 'blender-v4.5-release' 2025-06-05 21:31:27 +10:00
Kamil Galik
64696cc699 NDOF: simplify the UI and preferences
- Navigation modes has been redefined a bit and introduced in a form of
  an enum so that new ones can me implemented in the future.
  Additionally switching between modes shouldn't require any additional
  configurations like inverting all the axes.
  Currently there are only 2 modes implemented,
  but 2 more are planned and will be proposed in follow-up PRs.
  Implemented modes are:

  - Object: works like "Orbit" option.
    but has all axes implicitly inverted
  - Fly: works the same as "Free".

- "Turntable" option has been turned into "Lock Horizon".
  This single option works for both normal navigation and Fly/Walk
  modes now.
- Pan and Rotation axes inversion has been removed from default
  configuration.
- UI has been simplified following the design from #136880.
- Zoom Invert has been removed since it looks like a duplication of
  `NDOF_PANZ_INVERT`.

Ref !139343
2025-06-05 21:29:53 +10:00
Clément Foucault
b89c36f0e7 EEVEE: Split static shaders in different compilation batches
This allow for more granular requests reducing the engine
startup time in case sub-process compilation is not enabled
(when it is enabled, gains are not substantial).
This also makes engine startup less blocking.

The batches are only requested if needed.
Some of the batches can only be requested after object sync.
Given we don't have a priority system for the shader compilation
queue, the engine shader ends up compiling after the scene
ones.

The remaining blocking is the texture loading and geometry loading.
The world compilation is still blocking in this patch to avoid making it
more complex. But this can be another optimization we can do later on.

See PR for performance numbers.

Pull Request: https://projects.blender.org/blender/blender/pulls/139454
2025-06-05 12:31:08 +02:00