Commit Graph

150077 Commits

Author SHA1 Message Date
Omar Emara
b9acba177e Compositor: Implement zero boundary EWA sampling
Reference #125968.
2024-11-13 16:01:47 +02:00
Omar Emara
e080668202 Compositor: Implement Crop node for new CPU compositor
Reference #125968.
2024-11-13 15:59:29 +02:00
Omar Emara
5fd9bbb70c Compositor: Implement Flip node for new CPU compositor
Reference #125968.
2024-11-13 15:58:38 +02:00
Leon Schittek
cff7130fc2 Nodes: Remove wrong tweak handling for reroutes
Remove `node_under_mouse_tweak` and replace it with
`node_under_mouse_select`.

The special handling for tweaking reroutes wasn't working correctly:
1. It didn't check at the correct reroute node location.
2. The (de-)selection behavior negated possible benefits anyway.

In practice the user-facing behavior is not affected by this.

Pull Request: https://projects.blender.org/blender/blender/pulls/130222
2024-11-13 14:51:08 +01:00
Julian Eisel
0f8e4b3516 Fix: UI: Many unneeded assets in file-list cache for asset UIs
Partial fix for #129267.

Avoid creating an entry in the file list cache for every asset when iterating
over the available assets. For this, allow passing a pre-filter function to the
asset iterator, to filter based on `AssetRepresentation` data. The asset shelf
can then pre-filter based on asset type and the active catalog.

Really, the cached file entry is only needed to access the preview image of the
asset, so it can be avoided most of the time.

While this should still be solved properly as outlined in #122439, this is
a general improvement and fix the mentioned report in a minimal way.

Was hoping this would be sufficient to fix #129267, but the whole of
!130105 will be needed.

Pull Request: https://projects.blender.org/blender/blender/pulls/130166
2024-11-13 14:13:45 +01:00
Aras Pranckevicius
49c6a0320c Tests: add VSE render test coverage for ffmpeg movie decoding
Specifically coverage of various YUV formats (4:2:0 and 4:4:4),
some bit depths (most 8 bit, some 10 bit), various colorspace
settings (untagged, bt709), and YUV color ranges (regular/limited vs
full/pc).

build_test_movies.sh in there generates all the (tiny) movie files
out of input color_chart.png using command line ffmpeg.
2024-11-13 14:59:38 +02:00
Damien Picard
5f52c5ce46 Fix: I18n: Integer Math node title used wrong translation context
The integer math node items used the proper translation context, but
not the translation for the node label.

Reported by ziweidao.

Pull Request: https://projects.blender.org/blender/blender/pulls/130225
2024-11-13 13:53:57 +01:00
Jacques Lucke
64a9260921 Core: remove WITH_CXX_GUARDEDALLOC option
This implements the proposal from #124512. For that it contains the following
changes:
* Remove the global override of `new`/`delete` when `WITH_CXX_GUARDEDALLOC` was
  enabled.
* Always use `MEM_CXX_CLASS_ALLOC_FUNCS` where it is currently used. This used
  to be guarded by `WITH_CXX_GUARDEDALLOC` in some but not all cases. This means
  that a few classes which didn't use our guarded allocator by default before,
  are now using it.

Pull Request: https://projects.blender.org/blender/blender/pulls/130181
2024-11-13 13:39:49 +01:00
Lukas Tönne
702bdde96d Merge branch 'blender-v4.3-release' 2024-11-13 13:39:35 +01:00
Pratik Borhade
f7ffef07d4 Fix #130189: Crash parenting object to layer
Caused by 71398478b2.
`parsubstr` is nullptr in Layer struct. This results in crash when an
object is parented to a new layer. This can be fixed by passing layer
member function `parent_bone_name()`. It handles the null pointer.

Pull Request: https://projects.blender.org/blender/blender/pulls/130205
2024-11-13 13:38:45 +01:00
Bastien Montagne
82ec1aa344 LSAN suppression rules: add exception for ffmpeg x265 malloc.
Current version of our ffmpeg library seems to have a memleak in their
code, makes ffmpeg test fail in debug+ASAN builds.
2024-11-13 13:26:56 +01:00
Clément Foucault
b76cc897b6 Cleanu: GPU: Address GLSL warnings 2024-11-13 12:38:00 +01:00
Clément Foucault
1aea4fb5c7 GPU: GLSL C++ shaders: Silence unuseful warnings 2024-11-13 12:37:00 +01:00
Clément Foucault
29b3df7504 GPU: GLSL compilation as C++ for draw intern shaders
Allow compilation of shaders using C++ for linting and
IDE support.

Related #127983

Pull Request: https://projects.blender.org/blender/blender/pulls/130193
2024-11-13 12:32:39 +01:00
Clément Foucault
582ea0eb40 Fix: Overlay-Next: Crash when selecting object 2024-11-13 11:37:28 +01:00
Pratik Borhade
16410eab9b Fix: Compiler warning about unused enum in switch case.
Caused by 9a4ce4a0f7

Pull Request: https://projects.blender.org/blender/blender/pulls/130213
2024-11-13 11:04:13 +01:00
Bastien Montagne
a9e88bd50b Merge branch 'blender-v4.3-release' 2024-11-13 10:26:21 +01:00
Bastien Montagne
cf0c91a545 Fix BKE_id_move_to_same_lib behavior with invalid parameters.
* Early return in case the given `id` is already in the same library as
  its target `owner_id` (in addition to both being local data).
* Assert with message AND return in case the given `id` is a linked ID
  from a different library.

The second point somewhat mitigates the severity of #130194.
2024-11-13 10:14:57 +01:00
Aaron Carlisle
378b62e349 Merge branch 'blender-v4.3-release' 2024-11-13 01:27:50 -05:00
Aaron Carlisle
d8b90ee422 Docs: Update RNA to user manual URL mapping 2024-11-13 01:26:36 -05:00
Nikita Sirgienko
9a7ca42ff1 Merge branch 'blender-v4.3-release' 2024-11-13 00:07:14 +01:00
Nikita Sirgienko
baa193c3b6 Cycles: oneAPI: build binaries for Battlemage GPUs 2024-11-13 00:05:23 +01:00
Hans Goudey
f28dafb365 Cleanup: Fix CLOG format string warning in PLY import 2024-11-12 17:52:34 -05:00
Hans Goudey
65bb33a668 Cleanup: Remove unused shape key functions
These were last used in some sculpt code that has been refactored
to do things more efficiently. For that same reason I don't think we're
likely to need them elsewhere.
2024-11-12 17:52:19 -05:00
Nikita Sirgienko
cf8d31d41c Bug Reporting: Add Cycles specific bug-reporting script for Windows
Previously, logs from Windows bug-reporting scripts would include
a minimal level of messages from Blender itself due to the usage
of the default log level.
With this change, a new Cycles associated bug-reporting script
is now added with logging set to the maximum level, so all
debug details from the Blender application will be available
in the generated log file, which users can attach to bug reports.

Pull Request: https://projects.blender.org/blender/blender/pulls/130137
2024-11-12 23:47:00 +01:00
Jacques Lucke
2618b0ac01 Merge branch 'blender-v4.3-release' 2024-11-12 22:58:40 +01:00
Jacques Lucke
917f7e648c Fix #130180: non-screen space dial gizmo scale does not take geometry scale into account
We can't scale the dial gizmo non-uniformly. Therefore, the average of the x/y/z scale
is used to determine the scale of the gizmo.

Pull Request: https://projects.blender.org/blender/blender/pulls/130183
2024-11-12 22:45:51 +01:00
Miguel Pozo
31ba9b798b Fix #130054: HDRI Preview rendering black if no visible mesh is in the scene
Ensure the probes views are set.

Pull Request: https://projects.blender.org/blender/blender/pulls/130190
2024-11-12 21:22:43 +01:00
Hans Goudey
ce68e3de15 Cleanup: Overlay: Follow style guide for private class variable naming
Pull Request: https://projects.blender.org/blender/blender/pulls/130191
2024-11-12 21:21:50 +01:00
Jesse Yurkovich
c9c2fbc52d Cleanup: IO: Use CLOG and fmtlib for tracing OBJ/PLY/STL messages
OBJ, PLY, and STL used a mix of fprintf, std::cout, and std::cerr to
trace warnings, errors, and general messages to the console.

Now, we instead use CLOG which provides real facilities for warnings and
errors and generally removes the need to pull in and use the heavy
`<iostream>` machinery.

For traces that should always be printed, `fmt::print` is used since
CLOG currently doesn't provide that particular level of trace.

Tests were only minimally changed to drop usage of streams while keeping
their prior usage of older stdio APIs. We can change to using fmtlib
there too if desired.

Pull Request: https://projects.blender.org/blender/blender/pulls/130107
2024-11-12 20:48:57 +01:00
Bastien Montagne
de187f7877 Merge branch 'blender-v4.3-release' 2024-11-12 20:05:30 +01:00
Bastien Montagne
0565f16f18 Fix (unreported) rare assert when loading blendfile using libraries.
There is actually a valid (rare) case where a Library ID can have a `0`
versionfile value during blendfile loading: if that library only
contains 'indirect weak' linked data.

These IDs are only actually read in the library blendfile if they are
also used by some other data, otherwise they are purposedly dropped and
removed, and the library blendfile can end up never being read at all.

This would lead to a completely empty library on blendfile loading,
which can then be removed from the data-base.

NOTE: this _does not_ affect cases where the whole library is missing,
or some linked IDs from that library are not found anymore.
2024-11-12 19:59:32 +01:00
Hans Goudey
04db9697ae Cleanup: Overlay: Remove double map lookup 2024-11-12 13:48:44 -05:00
Julian Eisel
a0b2704202 Fix #128138: No paint curves selectable for brush strokes
The data-block selector filters out local data-blocks when trying to
assign to linked data. A lot of data-block management relies on this.

Since these data-blocks are created for the use with brushes only,
create them under the same library that the brush is from, as indirect
data. The UI allows selecting these data-blocks then. We do the same for
textures attached to a brush, and some other data-block types.

Also add paint-curves to the editable data-block types, so they can be
edited despite being considered linked data.

Pull Request: https://projects.blender.org/blender/blender/pulls/130184
2024-11-12 19:13:24 +01:00
Julian Eisel
9fa906855e Merge branch 'blender-v4.3-release' 2024-11-12 19:13:02 +01:00
Julian Eisel
b11a056150 Fix: Assert when activating brush asset from the current file
Brush assets from the current file should be supported like other brush
assets.

This assert would fail on startup for example, when opening the
essentials file containing the default brush of this mode.
2024-11-12 19:11:14 +01:00
Falk David
9dfcc506fc Merge branch 'blender-v4.3-release' 2024-11-12 18:56:59 +01:00
Pratik Borhade
9a4ce4a0f7 Fix #128749: GPv3: Dopesheet Move channel to top reverses layer order
The operator to move a channel to the top revered the layer order
by iterating from the top to the bottom and moving selected channels
to the top. Iterate from the bottom to the top instead to keep the right
layer ordering.

Pull Request: https://projects.blender.org/blender/blender/pulls/128793
2024-11-12 18:56:12 +01:00
Clément Foucault
091004f1b8 GPU: GLSL compilation as C++ for gpu static shaders
Allow compilation of shaders using C++ for linting and
IDE support.

Related #127983

Pull Request: https://projects.blender.org/blender/blender/pulls/128724
2024-11-12 18:53:34 +01:00
YimingWu
2e82f95237 Fix: LineArt: Cache mechanism fixes
The cache mechanism for line art is changed during migration to GPv3,
however the code path failed to handle following cases which could lead
to a few problems:

- Line art cache isn't deleted after last line art modifier because it
  coule be hidden, causing memory leaks.
- A modifier inside a multiple line art modifier sequence that doesn't
  use cache would prematurely delete line art cache, causing subsequent
  line art modifier to give empty result.
- When the first line art modifier is hidden (in viewport/render), the
  cache is not created correctly, leading to crashes.

Now the new code logic addresses these problems properly by:

- Making sure the last visible line art modifier deletes cache.
- Giving a fresh cache pointer for modifiers that doesn't use global
  cache.
- Line art cache is correctly ensured when there are modifiers that
  are hidden

Pull Request: https://projects.blender.org/blender/blender/pulls/129953
2024-11-12 18:51:45 +01:00
Julian Eisel
e19030a69e Merge branch 'blender-v4.3-release' 2024-11-12 18:17:32 +01:00
Julian Eisel
f66b3eeae9 Fix #128774: Setting brush from Properties doesn't change active tool
We need to be careful about not just looking up active tool data from
context, because this code path may also be run from the Properties,
which use the tools of the 3D view. So make sure related code falls back
to the 3D view, like it's already done in some other places.
2024-11-12 18:03:17 +01:00
Hans Goudey
85f5b22f64 Cleanup: Draw: Remove double negative checking mesh extract type 2024-11-12 11:57:24 -05:00
Hans Goudey
f379acb2bf Cleanup: Draw: Use enum class for mesh extract type 2024-11-12 11:57:24 -05:00
Richard Antalik
c1bf38fc34 Merge branch 'blender-v4.3-release' 2024-11-12 17:47:28 +01:00
Clément Foucault
6de277d732 Fix: Overlay Next: Incorrect display of facing overlay on transparent textures in solid mode
Based on #128166 with prepass logic fix.
2024-11-12 17:32:03 +01:00
Richard Antalik
ebe209b8ec Fix #126461: Scene sound does not play
Caused by removing scene sound from "main scene" when other strip using
the same scene is not rendering sequencer strips.

Only remove sound when all strips using particular scene are not
rendering sequencer strips.

Pull Request: https://projects.blender.org/blender/blender/pulls/129768
2024-11-12 17:28:20 +01:00
Falk David
d63ead748b Merge branch 'blender-v4.3-release' 2024-11-12 17:27:34 +01:00
Falk David
5ecec47280 Fix #130176: GPv3: Fill tool doesn't write to fill_opacity.
The fill tool didn't write to the `fill_opacity` attribute leading
to non-filled strokes in some cases.

This makes sure that the attribute is created with full opacities.

Pull Request: https://projects.blender.org/blender/blender/pulls/130177
2024-11-12 17:26:47 +01:00
Falk David
2cc33ceaa6 Merge branch 'blender-v4.3-release' 2024-11-12 17:20:57 +01:00