Commit Graph

151851 Commits

Author SHA1 Message Date
Brecht Van Lommel
fb4e3c8167 Refactor: Cycles: Remove distinction between severity and verbosity
Only use LOG() and LOG_IS_ON() macros, no more VLOG_.

Pull Request: https://projects.blender.org/blender/blender/pulls/140244
2025-07-09 20:59:24 +02:00
Brecht Van Lommel
8392ca915b Cycles: Remove glog dependency, redirect logs to CLOG
* Add own simple logging system to replace glog, which is no longer
  maintained by Google.
* When building in Blender, integrate with CLOG and print all messages
  through that system instead.
* --log cycles now replaces --debug-cycles. The latter still works but
  is no longer documented.

Pull Request: https://projects.blender.org/blender/blender/pulls/140244
2025-07-09 20:59:24 +02:00
Brecht Van Lommel
370ef854c0 Refactor: Cycles: Avoid unnecessary newlines in Metal logs
Pull Request: https://projects.blender.org/blender/blender/pulls/140244
2025-07-09 20:59:24 +02:00
Brecht Van Lommel
cf7f276d49 Refactor: Cycles: Tweak logging to prepare for dropping glog
* Implement own simple ScopedMockLog
* Always use names instead of numbers
* Avoid logging in header files

Pull Request: https://projects.blender.org/blender/blender/pulls/140244
2025-07-09 20:59:24 +02:00
Brecht Van Lommel
9a3a090dbc Refactor: Clog: Port to C++
This is the last remaining C file that uses MEM_guardedalloc.h.

Pull Request: https://projects.blender.org/blender/blender/pulls/140244
2025-07-09 20:59:23 +02:00
Brecht Van Lommel
50a9472604 Fix: Cycles Metal issue rendering with multiple NanoVDB grids
After recent changes in b4be954856, pointer was written at the wrong offset.
2025-07-09 20:59:23 +02:00
Hans Goudey
5bdec246ea Cleanup: Fix build error from missing include in threads.cc
`<algorithm>` was missing for me, though the build passed on the
build bots. Also remove some unused includes.
2025-07-09 14:32:30 -04:00
Sean Kim
06efb20b78 Cleanup: Extract paint.sample_color operator to separate file
Pull Request: https://projects.blender.org/blender/blender/pulls/141641
2025-07-09 20:29:11 +02:00
Miguel Pozo
f46aa9a1ea Core: Add BLI_thread_queue priority and cancel support
Add functionality required for using BLI_thread_queue for shader compilation, as
discussed in #140214.

Pull Request: https://projects.blender.org/blender/blender/pulls/140992
2025-07-09 18:04:51 +02:00
Miguel Pozo
6d9ad29c2a Merge branch 'blender-v4.5-release' 2025-07-09 15:16:46 +02:00
Miguel Pozo
88f812bf9a Fix #141253: Bring back the global Draw lock
Alternative solution to #141392 / #141564.

As a recap, the DST global lock (which prevented running drawing code
from multiple threads concurrently) was removed for 4.5 (#134690).
One unforeseen issue is that Images (and their GPUTextures) are shared
across dependency graphs (and therefore multiple threads), meaning we
are running into data race issues with them.

@fclem did #141392 and I continued it #141564. However, this is only a
partial solution, parts of the GPUTexture API and the whole BKE_image
API are still unsafe.
Trying to solve all the possible underlying issues seems unrealistic for
4.5 given the time frame and that the extension of the code affected by
this issue is quite large.

So this PR just brings the 4.4 locking behavior instead, which, while
risky on its own, seems much safer to me than the alternative.

This effectively undoes the improvements from #134690 by disabling
concurrent rendering, but instead of reverting all the code, it just
ensures we hold the lock in the same places we did in 4.4.
This means there's some redundant code that is not technically needed
anymore, like the `submission_mutex`, but it's probably best to make as
few modifications as possible, given how close we are to release and
that this is only intended as a temporary measure.

Pull Request: https://projects.blender.org/blender/blender/pulls/141618
2025-07-09 15:11:29 +02:00
Alaska
d1d22ca484 Fix: Vulkan compositor tests do not run
This commit fixes a issue where GPU compositor tests would always run
with the default GPU backend, Metal for macOS, and OpenGL
for other operating systems.

Now tests correctly run on the defined GPU backend, allowing Vulkan
GPU compositor tests to correctly run with the Vulkan GPU backend.

Pull Request: https://projects.blender.org/blender/blender/pulls/141447
2025-07-09 14:30:50 +02:00
Jeroen Bakker
4d9c5ebd97 Vulkan: Move Wayland/HDR support out of experimental
This PR moves Wayland/HDR support out of experimental.
This allows more people to test and provide feedback. We
can always decide later to disable it for the release, but so
far we only got positive feedback.

Pull Request: https://projects.blender.org/blender/blender/pulls/141666
2025-07-09 13:24:31 +02:00
Thomas Dinges
292dc37ced Merge branch 'blender-v4.5-release' 2025-07-09 12:57:49 +02:00
Thomas Dinges
82f75f22ef Release: Bump 4.5 to release candidate 2025-07-09 12:56:08 +02:00
Bastien Montagne
e2366f6768 Merge branch 'blender-v4.5-release' 2025-07-09 12:03:26 +02:00
Damien Picard
7d4f6faffd I18n: Translate missing node add search menu items
Some items in the node editors' add menus were not properly
translated. The affected items referenced an enum property on a node,
such as Math node's Operation.

Since some of those enums use a specific translation context, the same
context must be used when adding them to the search menus. The context
can simply be retrieved from the bl_rna prop itself.

In addition, some items use labels that are already translated
manually and do not need the auto translation, so disable that in
those cases (translate=False).

No new messages are added by this change.

Reported by Ye Gui in #43295.

Pull Request: https://projects.blender.org/blender/blender/pulls/141629
2025-07-09 12:00:36 +02:00
Jeroen Bakker
965b4dce6d Wayland: Set surface color management
This PR solves running Wayland on compositors that don't support HDR/
color management. It also allows to let Blender window be drawn across
monitor boundaries and being transferred and clamped to the monitor
it is being displayed on.

From our point of view monitor configurations is a compositor/OS
responsibility. This PR provides the compositor that the provided
swapchain image will be using sRGB whitepoints and transfer
function. The compositor should then take care of performing the
final transfer to the monitor color volume.

The color management protocol doesn't provide guarantees that
every compositor does this. It is mentioned as a recommendation
and 'should do this'.

Pull Request: https://projects.blender.org/blender/blender/pulls/141598
2025-07-09 10:50:20 +02:00
Omar Emara
fad9223a36 Merge branch 'blender-v4.5-release' 2025-07-09 11:44:54 +03:00
Omar Emara
23d06e9c9a Fix #141568: Implicit convert for single values return zeros
Implicit conversion for single values always return zero in GPU device.
That's because the conversion data was only stored on the CPU and not
uploaded to the GPU, so we ensure it gets uploaded to GPU.

Pull Request: https://projects.blender.org/blender/blender/pulls/141658
2025-07-09 10:43:03 +02:00
Lukas Tönne
bb293e5677 Regression test for armature deformation on lattice
This is a basic armature deformation test for #141535  using Lattices instead of
Mesh as the target object type. Lattice deformation was briefly broken, which is
caught by this test.

The test adds the general-purpose `unit_test_compare` function to lattice object
data. It only compares lattice point counts and positions for now, more data can
be added later if necessary.

The `MeshTest` class did not support lattice object types yet, so needed some
changes. The Curves case was already supported, but only by full conversion to
mesh data, without actually using the `unit_test_compare` function specific for
curves geometry. This is unchanged, because applying constructive modifiers on
curves does not work. If it were not for this limitation the test could do
actual curves comparisons now.

For lattice support the `MeshTest` class comparison function has been
generalized to all supported object data types. It runs the appropriate
`unit_test_compare` api function and validation where supported (only meshes at
this point).

Pull Request: https://projects.blender.org/blender/blender/pulls/141546
2025-07-09 09:53:00 +02:00
Julien Duroure
dcd8d4423d Merge branch 'blender-v4.5-release' 2025-07-09 09:46:26 +02:00
Julien Duroure
100ed60f2d Fix: Importer can fail with blender file browser recursive option enabled
The files property, provided by the blender file browser, contain
paths relative to the directory property. Use that instead of using
the filepath parent directory.
2025-07-09 09:44:10 +02:00
Jeroen Bakker
3fca75d0d7 Vulkan: Only select HDR swapchain on Wayland
Half float swapchains were selected even on platforms that are not able
to use HDR. This PR will limit the creation of HDR swapchains only to
Wayland.

Pull Request: https://projects.blender.org/blender/blender/pulls/141650
2025-07-09 09:00:34 +02:00
Jeroen Bakker
807931166a Merge branch 'blender-v4.5-release' 2025-07-09 08:59:36 +02:00
Jeroen Bakker
2170739ba3 Fix #141628: Vulkan: Crash when index buffer could not be allocated
Added an early exit when the index buffer could not be allocated. Most
likely when there is an out of memory issue.

Pull Request: https://projects.blender.org/blender/blender/pulls/141653
2025-07-09 08:57:57 +02:00
John Kiril Swenson
cfc495bb2e Fix #141332: Add movie operator crashes Blender
PR #141419 gated init behind a `nullptr` check, but it would still try
to run transform engine code, which accesses the unset region. Fix by
preventing any sort of `move_strips` operation when `region` doesn't
exist.

Pull Request: https://projects.blender.org/blender/blender/pulls/141582
2025-07-09 08:38:45 +02:00
Campbell Barton
d3a8bfc83a Cleanup: resolve missing declaration warning 2025-07-09 15:58:29 +10:00
Campbell Barton
93ae46c68b Merge branch 'blender-v4.5-release' 2025-07-09 15:53:30 +10:00
Campbell Barton
35882493f4 Merge branch 'blender-v4.5-release' 2025-07-09 15:53:28 +10:00
Campbell Barton
0d944c16c6 Fix: assertion filling curve caps with a zero normal vector
Don't attempt to fill curve caps when the direction vector is invalid.

This prevents the crash in #141612 however the root cause of that
report isn't directly related to curve filling.
2025-07-09 15:44:22 +10:00
Campbell Barton
3d6e9756c7 Fix #141400: Metaball tessellation unresponsive with a scaled parent
The check to prevent overly complex tessellation checked the objects
scale directly instead of the final evaluated scale.

Also corrects the scale check which wasn't accounting for negative axes.
2025-07-09 15:23:42 +10:00
Omar Emara
0a152ddddf Compositor: Add Djsoint and Conjoint Over operations
This patch adds the Disjoint and Conjoint Over operations to the Alpha
Over node.

Pull Request: https://projects.blender.org/blender/blender/pulls/141439
2025-07-09 06:59:55 +02:00
Aaron Carlisle
4a17e42e2b Merge branch 'blender-v4.5-release' 2025-07-09 00:56:00 -04:00
Aaron Carlisle
5bf8edb589 Docs: Update RNA to user manual URL mapping 2025-07-09 00:53:41 -04:00
Campbell Barton
f528e3d61c GHOST/Wayland: support "resize" cursors from the shape protocol
Also add comments for the different crosshair cursors.
2025-07-09 13:54:47 +10:00
Campbell Barton
d36ce2fe6d Fix: correct fixed sizes of strings used with MAX_ID_NAME
Resolve warnings raised by "make check_size_comments",
missed from !137196.
2025-07-09 02:55:53 +00:00
Campbell Barton
4d7f2f436b Cleanup: quiet unused argument warning 2025-07-09 12:53:28 +10:00
Jesse Yurkovich
26a511df7a Merge branch 'blender-v4.5-release' 2025-07-08 19:45:03 -07:00
Jesse Yurkovich
a8f543f6a8 Fix: USD: Add MeshSequenceCache modifier for animated crease values
The mesh importer was only checking for animated positions, velocities,
and primvars when determining if a cache modifier needed to be used.
Extend this to crease values (and normals) too.

The added test ensures a base level of coverage here.

Related to: #141633

Pull Request: https://projects.blender.org/blender/blender/pulls/141643
2025-07-09 04:44:30 +02:00
Campbell Barton
4bc65a9b3f Cleanup: white space warnings from "check_struct_comments" 2025-07-09 02:10:05 +00:00
Campbell Barton
a5eb65bac8 Cleanup: add missing struct-comments for bmesh operator defines 2025-07-09 12:10:00 +10:00
Campbell Barton
0a2d3d9d85 Merge branch 'blender-v4.5-release' 2025-07-09 11:23:56 +10:00
Campbell Barton
85ad73809f AUTHORS: add 45 new authors 2025-07-09 01:22:00 +00:00
Sean Kim
ab7a30b1bd Refactor: Use std::array and blender::Span instead of pointer array
* Changes pointer array to std::array of optionals
* Returns by value
* Passes blender::Span to dependent functions

Pull Request: https://projects.blender.org/blender/blender/pulls/141586
2025-07-09 02:02:16 +02:00
Sean Kim
feec97bf51 Cleanup: Remove unused paint_utils.cc method
Pull Request: https://projects.blender.org/blender/blender/pulls/141640
2025-07-09 02:01:37 +02:00
Sean Kim
f80a3e5cbc Refactor: Add explicit default initialization to reshape_smooth structs
Pull Request: https://projects.blender.org/blender/blender/pulls/141585
2025-07-09 00:26:37 +02:00
Sean Kim
24355500b5 Merge branch 'blender-v4.5-release' 2025-07-08 15:07:48 -07:00
Sean Kim
90ad735943 Fix #141623: Subdivision Set operator occasionally fails when adding modifier
Introduced in ee67c098d9

Pull Request: https://projects.blender.org/blender/blender/pulls/141634
2025-07-09 00:00:17 +02:00
Harley Acheson
37f10aaa4a UI: Fix Cursor Size Truncation Issue
Mouse cursor size calculation must use round rather than trunc.
Otherwise there is a decrease in cursor size from 1X -> 1.01X scale.

Pull Request: https://projects.blender.org/blender/blender/pulls/141637
2025-07-08 23:59:47 +02:00