Commit Graph

143095 Commits

Author SHA1 Message Date
Julian Eisel
c2e3c87201 Merge branch 'blender-v4.3-release' 2024-11-05 18:35:33 +01:00
Julian Eisel
5afee98ad9 Fix: Unsaved changes label not showing up for essentials brushes
The label was hidden explicitly when saving changes wouldn't be
possible. But this was done for an earlier design iteration where there
would be a button to save changes, not just a label as indicator. The
indicator should always be shown when applicable.
2024-11-05 18:35:09 +01:00
Clément Foucault
351575bc83 Fix: EEVEE: Depth of Field regression
Fix regression introduced by d712be0662
2024-11-05 18:19:59 +01:00
Clément Foucault
8c0bd61342 Merge branch 'blender-v4.3-release' 2024-11-05 17:40:49 +01:00
Clément Foucault
32f4754a38 Fix: EEVEE: Volume: Assert on MacOS with high resolution
This would happen if the viewport with large enough
and a tile resolution of 1:1 was choosen.

This changes the fallback behavior from simply clamping
the resolution (which did break a lot of math downstream),
to simply finding the next largest tile size that fits
the hardware requirements.
2024-11-05 17:40:06 +01:00
Clément Foucault
750a9af518 Fix #129705: EEVEE: Light Probe RAM Pool Crash on MacOS
Crash manifested after the inclusion of #128877.
The very tall 3D texture tested by the new code
were not supported / tested by the Metal Backend.

Simply adding the appropriate upfront checks fixes
the issue.

Needs to be backported to 4.2
2024-11-05 17:37:02 +01:00
Clément Foucault
43b5e2d0ed Fix: EEVEE: Add buffer workaround for stencil classification
Adding a dummy storage buffer to the classification shader
seems to fix the issue on Qualcomm drivers (WoA).

The workaround is added to the force workaround option to
allow other platforms to test the fix.

Rel #122837

Pull Request: https://projects.blender.org/blender/blender/pulls/129857
2024-11-05 17:12:28 +01:00
Julian Eisel
fd2d2f225f Fix #128744: Reverting single essentials brush reverts all
Code used library reloading which would reload all data-blocks from a
data-block library. Since the essentials brushes are stored in a single
.blend file (one per mode), they would all be reset. In general this
violates the design where multiple brushes in a single .blend file
should be usable just fine. (A single file per brush is only necessary
to allow saving edits to that file without opening it.)

Instead of library reloading, delete the brush from the current file and
re-link it.

The link/append API should probably get support for reloading a single
data-block (and optionally its dependencies) but for now this is not
supported yet.

Pull Request: https://projects.blender.org/blender/blender/pulls/129866
2024-11-05 17:05:15 +01:00
Aras Pranckevicius
39c4c7cf3f ffmpeg: 10 and 12 bit video support
Part of overall #118493 task: video input/output support at 10 and 12
bit/component formats. (note: this is still LDR videos just at higher
precision; there's no HDR handling (yet)).

Movie reading/playback: when movie file pixel format has >8 bit
components, decode those into a floating point ImBuf result. Previously
all movies were decoded into 8 bit/channel ImBufs, so 10- and 12-bit
movie pixel colors were getting quantized.

Movie output: when ffmpeg video with suitable codec is selected,
there's a color depth setting under Encoding block. Currently that is:
- 10 bit option for H.264, H.265, AV1 (VP9 could do 10 bit in theory too,
  but ffmpeg that is built in Blender does not have that compiled in)
- 12 bit option for H.265, AV1

When "lossless" is picked, then similar to how for regular 8-bit video
it switches from YUV 4:2:0 to 4:4:4, this also switches to 4:4:4
10- or 12-bit variant.

Pull Request: https://projects.blender.org/blender/blender/pulls/129298
2024-11-05 16:44:16 +01:00
Clément Foucault
f4f94fb055 Merge branch 'blender-v4.3-release' 2024-11-05 16:40:52 +01:00
Clément Foucault
f05daa4364 EEVEE: Update shadow linking render test 2024-11-05 16:40:17 +01:00
Clément Foucault
4310695f67 EEVEE: Update shadow linking render test 2024-11-05 16:36:21 +01:00
YimingWu
46b89b2aa4 Fix: GPv3: Some modifiers not working with non-poly curves
Some modifiers expect the curves to be of type `POLY`.
For such modifiers we need to resample the curves to the
evaluated points so that the modifiers work as expected.

Resolves #129859.

Pull Request: https://projects.blender.org/blender/blender/pulls/129860
2024-11-05 16:35:16 +01:00
Jacques Lucke
551e87c4fd Fix #128875: text cursor offset by one
The `UI_BUT_NO_TEXT_PADDING` flag was not taken into account when setting the cursor in a text box.

Pull Request: https://projects.blender.org/blender/blender/pulls/129299
2024-11-05 15:56:54 +01:00
Jacques Lucke
9d87291c40 Fix #129691: heap buffer overflow when writing unaligned data to .blend file
`writedata` used to align the written buffer size to a multiple of 4. This
causes multiple issues:
* Writes uninitialized data.
* Crash with ASAN due to a heap buffer overflow if the buffer is not any longer
  than what is passed in.
* Modifies the length of the buffer which can't be undone when reading the
  buffer again.

I don't know of any reason for this alignment here. I'd think that it doesn't
matter when writing to a file. If it would matter, then we should probably align
to at least 8 nowadays because that's the alignment of pointers. The original
reason for this alignment seems to be lost to history. It was already part of
the initial commit.

Pull Request: https://projects.blender.org/blender/blender/pulls/129821
2024-11-05 15:51:37 +01:00
Christoph Lendenfeld
71692abd59 Fix #127949: able to pan keys out of view if channels are not shown
The issue was that with a96f1208cc the clamping
of the `View2D` happened in the drawing function
of the channel list. That of course won't work if the
channel list isn't drawn.

The fix is to ALSO clamp in the drawing function of
the main area. The reason this has to be in addition, is that
(I think) the channel box is drawn first. So if the clamping doesn't
happen there, the channels and their keys can lose their vertical
alignment.

Pull Request: https://projects.blender.org/blender/blender/pulls/129864
2024-11-05 15:34:22 +01:00
Bastien Montagne
4033a95191 Add crafted invalid blendfile to our test data. 2024-11-05 15:16:15 +01:00
Clément Foucault
2478ae699d Merge branch 'blender-v4.3-release' 2024-11-05 15:08:15 +01:00
Clément Foucault
118ca96c8a GPU: Enable shader interface check for geometry shader fallback 2024-11-05 15:07:56 +01:00
Clément Foucault
e47e720f06 Fix #126415: EEVEE: Halo on motion blurred out of focus objects
Was caused by swapped depth of field and motion blur effects.
2024-11-05 15:05:42 +01:00
Bastien Montagne
2c9e7676a3 Merge branch 'blender-v4.3-release' 2024-11-05 15:01:20 +01:00
Bastien Montagne
b35a5df8c9 tests: blendfile versionning: split in more tests, flush debug prints.
In case the process creashes, the prints about blendfiles being
processed could fail to be captured by the test framework.

And split these tests in 32 slices now, 8 was becomming way too slow to
complete for each test.
2024-11-05 15:01:14 +01:00
Bastien Montagne
c945f1356e Cleanup: Remove 'missing proxies' from readfile reports.
These have been removed since 4.0, this is not a pertinent information
to single out anymore.

Also downgrade report about missing obdata to `WARNING`, `ERROR` is a
bit strong for this.
2024-11-05 15:01:14 +01:00
Bastien Montagne
e2b1e9912c Fix readfile linking code not protected against invalid BHeads.
Follow up to 6ba58a8303, apply similar checks to code loading
linked data from blendfile libraries.
2024-11-05 14:38:30 +01:00
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
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