Commit Graph

116874 Commits

Author SHA1 Message Date
Harley Acheson
f5a07e715f UI: Status Bar Display for Pose Inbetweening
For all 5 items in the Pose Mode, Post, In-Betweens, improve the
display of the status bar by using icons, state highlighting, etc.

Pull Request: https://projects.blender.org/blender/blender/pulls/133462
2025-01-31 23:33:27 +01:00
Hans Goudey
abc8796cab Curves: Optimize edit/sculpt mode index buffer creation
Avoid function call overhead and parallelize the creation of the edit
and sculpt mode lines index buffers. Also, remove an extra index that
was added for each curve when there are no cyclic curves.

Though ideally these index buffers would be generated on the GPU, this
simple change makes this part of the GPU data building almost 5x faster
(from 1.23 ms to 0.25 ms for curves with 80 thousand points).

Pull Request: https://projects.blender.org/blender/blender/pulls/133897
2025-01-31 21:47:16 +01:00
Hans Goudey
3630fd78d5 Cleanup: Depsgraph: Avoid transative includes and type aliases
Instead of the monolothic `depsgraph_type.hh` header that includes
most types used in the despgraph, just add includes where they are
actually necessary. Also remove the `using` keywords for `std` types.
The lack of specificity isn't considered good practice nowadays.

Removing unnecessary transitive includes can help improve compile
times because the time spent parsing headers decreases. Using the
"include what you use" pattern makes futher improvements much
easier too, since it the path to further reduce transitive includes
becomes much clearer.

Pull Request: https://projects.blender.org/blender/blender/pulls/133749
2025-01-31 21:17:49 +01:00
Bastien Montagne
b53a372b6f Fix Outliner missing update on several TemplateID operations.
Simply always request Outliner update when running any operation in
`template_id_cb` that triggers an undo step.

Found while checking on #43598.
2025-01-31 20:44:53 +01:00
Hans Goudey
59f9e93413 Mesh: Avoid computing vertex normals for corner normals
The algorithm to calculate face corner normals had a vertex normal
input, with the intention to pre-populate corner normals for vertices
with no sharp connected edges. However corner normals are calculated
separately for these fully sharp vertices later anyway, so this whole
step was completely redundant. Removing the vertex normals calculation
reduces memory usage and improves performance. In a test file with a
character with custom normals, this changed improved the playback FPS
by 15%, from 41 to 47 FPS. The impact will usually be lower than that
but it should be noticeable in other scenes too.

Pull Request: https://projects.blender.org/blender/blender/pulls/133884
2025-01-31 19:59:28 +01:00
Guillem Baldi
2536b04a21 Fix #133104: Make Indices Overlay look like Attribute Viewer
The Indices Overlay used a blue color without shadow to render the
indices in edit mode unlike the Attribute Viewer which uses white text
with shadow. So for consistency, the Indices Overlay has been changed
to use the same style.

Pull Request: https://projects.blender.org/blender/blender/pulls/133262
2025-01-31 19:01:18 +01:00
Brecht Van Lommel
569e0f5e7f Fix: Build error in eevee tests after recent cleanups 2025-01-31 18:46:01 +01:00
Brecht Van Lommel
e2fd3f64fa Fix: ASAN error running tests with color management processing
processor_apply_func expected a different return type.

Pull Request: https://projects.blender.org/blender/blender/pulls/133885
2025-01-31 18:45:46 +01:00
Clément Foucault
12748e5521 Fix: Overlay: Add back support for empty scale in armature custom shape
This function was not ported during the overlay-next project.
2025-01-31 18:26:44 +01:00
Clément Foucault
a50e07a533 Fix #133699: Overlay: Empty as Bone custom shape display error
Add workaround path to process the vertices the same way as
the `overlay_extra_vert` shader.
We nudge the non-origin vertices in the batch to be able
to not require loading the VCLASS attribute. Thus making
the change local to the shader and not requiring another
shader variant.
2025-01-31 18:26:44 +01:00
Clément Foucault
976ed42533 Cleanup: GPU: Use functional cast for scalar casting 2025-01-31 18:26:44 +01:00
Philipp Oeser
adf5491c0b Fix #133854: Grease Pencil auto-masking not working anymore
Previously, the check to get strokes under the cursor used
SEARCH_RADIUS_PIXEL (20), since 1eb39a8689,
this is now using the real brush radius which is wrong.

To resolve, go back to 20 as a hardcoded value.

Pull Request: https://projects.blender.org/blender/blender/pulls/133881
2025-01-31 17:46:59 +01:00
YimingWu
44f2c4836f Fix #132743: Grease Pencil: Support drawing primitives on the back
The "On Back" option in the viewport draw mode allows new strokes to be
placed behind existing strokes, grease pencil will now recognize this
option when using primitives drawing tool.

Pull Request: https://projects.blender.org/blender/blender/pulls/132787
2025-01-31 17:46:27 +01:00
Jeroen Bakker
9f5d8756fc Fix #133866: Compositor: Incorrect Binding info keying node
Keying node has incorrect binding info, what leads to incorrect results
when running on Mesa/RADV driver.

Pull Request: https://projects.blender.org/blender/blender/pulls/133877
2025-01-31 17:20:05 +01:00
Brecht Van Lommel
c625724ed0 Cleanup: Remove some unused variables
Noticed miny was computed wrong, but actually none of these are used.
2025-01-31 17:03:18 +01:00
Brecht Van Lommel
ec0fc49fb8 Cleanup: Remove unused BLI_blenlib.h 2025-01-31 17:03:18 +01:00
Brecht Van Lommel
93d7b85264 Cleanup: Various clang-tidy warnings in makesrna
Pull Request: https://projects.blender.org/blender/blender/pulls/133734
2025-01-31 17:03:18 +01:00
Brecht Van Lommel
7802dcf7ac Cleanup: Various clang-tidy warnings in creator
Pull Request: https://projects.blender.org/blender/blender/pulls/133734
2025-01-31 17:03:18 +01:00
Brecht Van Lommel
c721c1a7e8 Cleanup: Various clang-tidy warnings in simulation
Pull Request: https://projects.blender.org/blender/blender/pulls/133734
2025-01-31 17:03:18 +01:00
Brecht Van Lommel
3bbafc5a9a Cleanup: Various clang-tidy warnings in shader_fx
Pull Request: https://projects.blender.org/blender/blender/pulls/133734
2025-01-31 17:03:18 +01:00
Brecht Van Lommel
112cd9cc20 Cleanup: Various clang-tidy warnings in sequencer
Pull Request: https://projects.blender.org/blender/blender/pulls/133734
2025-01-31 17:03:18 +01:00
Brecht Van Lommel
27accea53e Cleanup: Various clang-tidy warnings in python
Pull Request: https://projects.blender.org/blender/blender/pulls/133734
2025-01-31 17:03:18 +01:00
Brecht Van Lommel
2b1dc0a44e Cleanup: Various clang-tidy warnings in functions
Pull Request: https://projects.blender.org/blender/blender/pulls/133734
2025-01-31 17:03:18 +01:00
Brecht Van Lommel
315d07bd12 Cleanup: Various clang-tidy warnings in nodes
Pull Request: https://projects.blender.org/blender/blender/pulls/133734
2025-01-31 17:03:18 +01:00
Brecht Van Lommel
941f186e88 Cleanup: Various clang-tidy warnings in io
Pull Request: https://projects.blender.org/blender/blender/pulls/133734
2025-01-31 17:03:18 +01:00
Brecht Van Lommel
c7502b092d Cleanup: Various clang-tidy warnings in gpu
Pull Request: https://projects.blender.org/blender/blender/pulls/133734
2025-01-31 17:03:18 +01:00
Brecht Van Lommel
61eedabae9 Cleanup: Various clang-tidy warnings in draw
Pull Request: https://projects.blender.org/blender/blender/pulls/133734
2025-01-31 17:03:18 +01:00
Brecht Van Lommel
1eb1755e1f Cleanup: Various clang-tidy warnings in compositor
Pull Request: https://projects.blender.org/blender/blender/pulls/133734
2025-01-31 17:03:17 +01:00
Brecht Van Lommel
3725fad82f Cleanup: Various clang-tidy warnings in editors
Pull Request: https://projects.blender.org/blender/blender/pulls/133734
2025-01-31 17:03:17 +01:00
Brecht Van Lommel
37b95783fa Cleanup: Various clang-tidy warnings in bmesh
Pull Request: https://projects.blender.org/blender/blender/pulls/133734
2025-01-31 17:03:17 +01:00
Brecht Van Lommel
d2c688e381 Cleanup: Various clang-tidy warnings in geometry
Pull Request: https://projects.blender.org/blender/blender/pulls/133734
2025-01-31 17:03:17 +01:00
Brecht Van Lommel
4856ad3efc Cleanup: Various clang-tidy warnings in asset_system
Pull Request: https://projects.blender.org/blender/blender/pulls/133734
2025-01-31 17:03:17 +01:00
Brecht Van Lommel
ae28102c3f Cleanup: Various clang-tidy warnings in windowmanager
Pull Request: https://projects.blender.org/blender/blender/pulls/133734
2025-01-31 17:03:17 +01:00
Brecht Van Lommel
b78fa81ed4 Cleanup: Various clang-tidy warnings in render
Pull Request: https://projects.blender.org/blender/blender/pulls/133734
2025-01-31 17:03:17 +01:00
Brecht Van Lommel
011060aa03 Cleanup: Various clang-tidy warnings in imbuf
Pull Request: https://projects.blender.org/blender/blender/pulls/133734
2025-01-31 17:03:17 +01:00
Brecht Van Lommel
7d37bd3841 Cleanup: Various clang-tidy warnings in ikplugin
Pull Request: https://projects.blender.org/blender/blender/pulls/133734
2025-01-31 17:03:17 +01:00
Brecht Van Lommel
936b90ce56 Cleanup: Various clang-tidy warnings in animrig
Pull Request: https://projects.blender.org/blender/blender/pulls/133734
2025-01-31 17:03:17 +01:00
Brecht Van Lommel
c335ff596c Cleanup: Various clang-tidy warnings in depsgraph
Pull Request: https://projects.blender.org/blender/blender/pulls/133734
2025-01-31 17:03:17 +01:00
Brecht Van Lommel
9da1778f1a Cleanup: Various clang-tidy warnings in blendthumb
Pull Request: https://projects.blender.org/blender/blender/pulls/133734
2025-01-31 17:03:17 +01:00
Brecht Van Lommel
ac977826e7 Cleanup: Various clang-tidy warnings in blentranslation
Pull Request: https://projects.blender.org/blender/blender/pulls/133734
2025-01-31 17:03:17 +01:00
Brecht Van Lommel
c296e668fc Cleanup: Various clang-tidy warnings in blenfont
Pull Request: https://projects.blender.org/blender/blender/pulls/133734
2025-01-31 17:03:17 +01:00
Brecht Van Lommel
a7e0a9a467 Cleanup: Various clang-tidy warnings in blenloader
Pull Request: https://projects.blender.org/blender/blender/pulls/133734
2025-01-31 17:03:17 +01:00
Brecht Van Lommel
260dbe4cff Cleanup: Various clang-tidy warnings in modifiers
Pull Request: https://projects.blender.org/blender/blender/pulls/133734
2025-01-31 17:03:17 +01:00
Brecht Van Lommel
478426c937 Cleanup: Various clang-tidy warnings in blenkernel
Pull Request: https://projects.blender.org/blender/blender/pulls/133734
2025-01-31 17:03:17 +01:00
Brecht Van Lommel
6b6cd3307b Cleanup: Various clang-tidy warnings in blenlib
Pull Request: https://projects.blender.org/blender/blender/pulls/133734
2025-01-31 17:03:17 +01:00
Brecht Van Lommel
1369fa27c6 Cleanup: Compiler warning in lite build 2025-01-31 17:03:17 +01:00
Brecht Van Lommel
c28cc9c965 Cleanup: Add missing braces in DNA_struct_default_get 2025-01-31 17:03:16 +01:00
Jacques Lucke
795f63e142 Fix #132941: crash due use after-free in properties editor during baking
The crash happens because some layout drawing code accesses the evaluated data
which is being generated by the baking thread. This access is not thread safe
currently.

This patch simply locks the UI of the properties editor when the interface is
locked using `WM_set_locked_interface` which is done during baking. The same is
done for the 3d view, node editor and spreadsheet already.

Pull Request: https://projects.blender.org/blender/blender/pulls/133867
2025-01-31 16:47:54 +01:00
Christoph Lendenfeld
de31cecfaf Fix #133731: Performance issue with many stashed actions
When duplicating an action, it is stashed in the NLA on a muted track.
Over time this can slow down blender, because certain code will look at every
FCurve in every action in the NLA.
To fix the performance issue, we can take advantage of the fact that
stashed actions are put onto a muted NLA track.

With this patch any strip on a muted NLA track is ignored in the
Depsgraph evaluation.

Measurements of `DEG_graph_relations_update`

| - | Before | After |
| - | - | - |
| 50 actions | ~140 ms | ~10.0 ms |
| 100 actions | ~250 ms | ~10.7 ms |

Pull Request: https://projects.blender.org/blender/blender/pulls/133864
2025-01-31 16:38:30 +01:00
Clément Foucault
651ae0e47c Metal: Add OOB coordinate rejection to image atomic functions
These should have been guarded but are not, creating
buffer out of bound access error on Apple devices.
2025-01-31 16:17:58 +01:00