Commit Graph

103235 Commits

Author SHA1 Message Date
Campbell Barton
ea054d9c4c Merge branch 'blender-v4.0-release' 2023-09-29 13:57:20 +10:00
Campbell Barton
655c639cf3 Merge branch 'blender-v4.0-release' 2023-09-29 13:57:18 +10:00
Campbell Barton
74c56f2b8f Merge branch 'blender-v4.0-release' 2023-09-29 13:57:15 +10:00
Campbell Barton
f6b73a2998 Merge branch 'blender-v4.0-release' 2023-09-29 13:57:12 +10:00
Campbell Barton
b581ea1cc2 Fix copy-to-selected mix up with custom property names
Don't pass custom property names to RNA_struct_type_find_property
since this meant custom-property names could intentionally collide with
RNA property names.
2023-09-29 13:50:56 +10:00
Campbell Barton
61652934cd RNA: add RNA_path_from_ptr_to_property_index
Split out the logic from RNA_path_from_ID_to_property that calculates
the path from a PointerRNA to a property.
2023-09-29 13:50:54 +10:00
Campbell Barton
8c590ef945 Cleanup: pass const ID properties to path creation functions 2023-09-29 13:50:53 +10:00
Campbell Barton
a3cb3a65b2 Fix UI "Copy Data Path" missing the trailing index for array properties
The index was missing when full_path was False.
2023-09-29 13:50:52 +10:00
Harley Acheson
7dafe2e6e5 Merge branch 'blender-v4.0-release' 2023-09-28 15:29:08 -07:00
Harley Acheson
5ccb289ef7 Fix #112642: Anchor Word Start For Double-click Word Select
In Interface text inputs, when double-clicking to select a word, set
the "initial selection position" to the beginning of the word. This way
you can continue to select forward by dragging before releasing mouse.

Pull Request: https://projects.blender.org/blender/blender/pulls/113037
2023-09-29 00:27:58 +02:00
Jeroen Bakker
2d864846e4 Fix #113002: Fix Crash When Loading Previous Settings
The default theme of blender has no `icon_border_intensity` and
therefore only loads the regular icons. When newly loaded theme has the
`icon_border_intensity` set it needs to reload the icon textures so both
icon maps would be loaded.

Without reloading the icons a GPU texture is missing and would crash
blender at first use. Starting Blender the second time it would load the
correct icons and would work as expected.

Pull Request: https://projects.blender.org/blender/blender/pulls/113016
2023-09-28 20:44:15 +02:00
Julian Eisel
b5599fed3d Merge branch 'blender-v4.0-release' 2023-09-28 19:30:23 +02:00
Julian Eisel
31e1a32378 Fix 1 pixel overlap in tool or asset shelf header background drawing
When the tool settings or asset shelf header would draw with some
transparency, the separator line between regions would visibly overlap
the background behind buttons, which looked unpolished. Ensure there is
no overlap (but also no gap, which became visible after accounting for
the separator line in the background drawing).
2023-09-28 19:30:05 +02:00
Jason Fielder
06f27b564c Fix: DRW: Flickering and sync in Metal
Flickering caused by in-flight SSBO data
overwrites has been resolved by ensuring
data updates go into a new buffer while
existing data is in flight.

GPU_finish has also been removed from
SSBO read due to its frequent mid-frame use
limiting performance.

Authored by Apple: Michael Parkin-White

Pull Request: https://projects.blender.org/blender/blender/pulls/113019
2023-09-28 18:42:49 +02:00
Harley Acheson
df63825cee Merge branch 'blender-v4.0-release' 2023-09-28 08:21:02 -07:00
Harley Acheson
18fcb9b3fb UI: Show Waiting Mouse Cursor While File Loading
Change the mouse cursor to a "waiting" one during the majority of the
time that a blend file is loading.

Pull Request: https://projects.blender.org/blender/blender/pulls/112986
2023-09-28 17:19:52 +02:00
Julian Eisel
8d556733b3 Merge branch 'blender-v4.0-release' 2023-09-28 16:20:11 +02:00
Julian Eisel
b82f3e90ca Fix #112985: Outliner header context menu shows asset operators
The Outliner exposed its context to the header as well which makes some
operators available there. While technically this is all fine, it's a
bit odd to the user, since they don't expect data-editing operations
when right clicking on a header that itself doesn't list data. Instead
only expose the Outliner context in the main region.
2023-09-28 16:19:38 +02:00
Brecht Van Lommel
66056fead0 Fix #112632: crash batch generating previews with Cycles
Don't assume existence of GPU backend in (background) preview rendering.

Also add null pointer checks and rely on assert instead to detect
invalid usage of GPU_render_begin/end, so that potential future mistakes
don't cause crashes.

Pull Request: https://projects.blender.org/blender/blender/pulls/112971
2023-09-28 16:13:09 +02:00
Sybren A. Stüvel
6bee1dc23b Merge remote-tracking branch 'origin/blender-v4.0-release' 2023-09-28 15:53:16 +02:00
Sybren A. Stüvel
fff9da576c Anim: add overview of bone collections to bone property panel
Add an overview of those bone collections the active/pinned bone is
assigned to.

This overview was originally there, showing the armature layers and the
bone group. This is now replaced by a list of the bone's collections. The
only possible interaction is unassigning the bone & toggling visibility
of the bone collections.
2023-09-28 15:52:45 +02:00
Philipp Oeser
c1352d1192 Merge branch 'blender-v4.0-release' 2023-09-28 15:44:40 +02:00
Philipp Oeser
cd557f0636 Fix: remove non-functional choice of weightpaint mode from lattices
Lattices would give the choice of going to weightpaint mode (which would
fail immediately because of `vwpaint::mode_toggle_poll_test`) because it
was marked as a compatible mode in `ED_object_mode_compat_test`.

I dont think this was ever supported properly, why this was marked as a
compatible mode is unknown (I stopped tracing git history at
deebf4f8f0).

Even if it was at some point, weightpaint mode nowadays is totally
depended on Mesh, so seems better to just remove it from Lattices.

Pull Request: https://projects.blender.org/blender/blender/pulls/112411
2023-09-28 15:43:50 +02:00
Jeroen Bakker
c9491b395c Cleanup: Make format 2023-09-28 15:15:08 +02:00
Hans Goudey
b595cd296b Merge branch 'blender-v4.0-release' 2023-09-28 09:00:31 -04:00
Hans Goudey
79d0b71751 Fix #112957: Incorrect PBVH multires grid iteration
The grid was pointer was moved to the next element at every loop, which
made `vi.grid` and `vi.mask` disagree. Instead, iterate the grid before
accessing data, so the pointers agree. To avoid unrolling the first loop
iteration or adding a branch for the first iteration, start the grid at
a -1 offset.

Pull Request: https://projects.blender.org/blender/blender/pulls/113015
2023-09-28 14:56:26 +02:00
Jacques Lucke
9ad6957574 Fix #107353: array cap broken on empty mesh
The array modifier used to output the start cap even if the
mesh is empty. This behavior was unintentionally changed in
8b2556e8d8. This patch brings back the old behavior.

The use case for this was to load an evaluated mesh of one
object into another object. So it was always kind of a hack, but
there is still no good reason to change the behavior.

Nowadays, one should just use the Object Info node in Geometry
Nodes to achieve the same result.
2023-09-28 14:55:31 +02:00
Jacques Lucke
03a9425f8a Fix: crash when entering edit mode on mesh used as start/end cap 2023-09-28 14:55:31 +02:00
Sybren A. Stüvel
6d0e6f0f3e Anim: remove pose.bone_layers operator
Remove the obsolete `pose.bone_layers` operator, it's been replaced by
bone collections.
2023-09-28 14:20:24 +02:00
Aras Pranckevicius
446ff8a321 Merge branch 'blender-v4.0-release' 2023-09-28 14:22:11 +03:00
Aras Pranckevicius
bf23d0e53c Fix #112011: PLY export broken when mesh contains faces with >255 vertices
MPoly -> offset indices refactor (7966cd16d6) did not realize
that due to forced triangulation the mesh changes, so we need
to re-fetch the faces array after triangulating. Fixes #112011
2023-09-28 14:21:23 +03:00
Jason Fielder
e64db67fa5 GPU: Add platform parameter for GPU architecture
Authored by Apple: Michael Parkin-White

Pull Request: https://projects.blender.org/blender/blender/pulls/112566
2023-09-28 12:49:55 +02:00
Philipp Oeser
9fcc8de68f Merge branch 'blender-v4.0-release' 2023-09-28 11:49:22 +02:00
Philipp Oeser
16e4eeb9c0 Text objects: make CharInfo mat_nr zero-based
For text objects, the CharInfo mat_nr material index used to start at 1
(not at zero like for meshes or nurbs).
Code was mostly considering this (but not in all places, so material
index handling (removing/moving) could still go wrong.

As an alternative to !109746 (where it was made sure all places would
make the right assumption about mat_nr starting at 1), this PR now
changes the mat_nr to be zero-based.

This is more in line with other places handling material indices.

Versioning code is in place to properly convert old files.

Fixes #109491

Pull Request: https://projects.blender.org/blender/blender/pulls/112954
2023-09-28 11:46:52 +02:00
Lukas Tönne
035209fb8f Merge branch 'blender-v4.0-release' 2023-09-28 11:25:39 +02:00
Lukas Tönne
9e79487c4f Fix #112588: Hide node panels when all sockets are hidden
The panel state gets a new flag to indicate if content is visible.
This gets updated in the visibility pass during node drawing.

Pull Request: https://projects.blender.org/blender/blender/pulls/113003
2023-09-28 11:24:48 +02:00
Jeroen Bakker
ad93324580 Vulkan: Add support for Framebuffer Depth Blit
This PR adds support for `GPU_framebuffer_blit` When used with `GPU_DEPTH_BIT`.
The challenge with is that not all GPUs support using a depth texture as a blit destination.

An AMD GPU doesn't support a depth buffer with stencil buffer as blit destination.
![image](/attachments/130e7e38-2dbc-4653-950c-2234bd5bad52)
> NOTE: AMD GPUs don't support 24 bit unsigned normalized depth textures at all.

In all cases when we use depth blitting we are blitting the whole texture
and in stead we can use a texture copy.

A negative effect is that we need to unbind the framebuffer when copying
depth textures, but a positive effect is that we can use a data transfer function what should
theoretically be faster.

This should be revisited when we are investigating in areas to improve the
performance of the Vulkan backend.

Pull Request: https://projects.blender.org/blender/blender/pulls/112674
2023-09-28 10:00:24 +02:00
Jeroen Bakker
e5a33b3b2c Vulkan: Rework Initializing/Allocating Textures
When initialy adding textures it wasn't possible to allocate during
initialization as its usage wasn't known. Bot Metal and Vulkan would do
a delayed allocation adding more checks when using textures.

Recently the behavior of setting texture usage was changed and now is
known when initializing textures. This PR makes advantage of this to
give correct feedback to the calling code if the texture can be created
and remove all the delayed allocating of textures.

Pull Request: https://projects.blender.org/blender/blender/pulls/112997
2023-09-28 09:38:52 +02:00
Campbell Barton
ca9c6372c9 Merge branch 'blender-v4.0-release' 2023-09-28 14:28:56 +10:00
Campbell Barton
fc8b1411cd Cleanup: correct struct comments & help text for batch loading utility 2023-09-28 14:28:12 +10:00
Campbell Barton
046ae0c790 Merge branch 'blender-v4.0-release' 2023-09-28 14:13:52 +10:00
Campbell Barton
be7c8fac6d Fix #112990: save pre/post/post/fail don't run for unwritable paths
When the destination path isn't writable - the save callbacks wouldn't
run. Supporting this can be useful so handlers can unlock a file
before saving, see #88493.
2023-09-28 14:13:05 +10:00
Campbell Barton
881bb81763 UI: don't access recent-search.txt when disabled or in background mode 2023-09-28 13:42:29 +10:00
Campbell Barton
e85a1b19e6 UI: don't access recent-search.txt when disabled or in background mode 2023-09-28 13:39:00 +10:00
Campbell Barton
35d9e71614 Merge branch 'blender-v4.0-release' 2023-09-28 12:46:57 +10:00
Campbell Barton
d37429c76a Merge branch 'blender-v4.0-release' 2023-09-28 12:46:54 +10:00
Campbell Barton
76d28ce18f Merge branch 'blender-v4.0-release' 2023-09-28 12:46:50 +10:00
Campbell Barton
c4a67b377b Cleanup: quiet missing declaration warning 2023-09-28 12:05:47 +10:00
Campbell Barton
ffbe9add7c RNA: EnumPropertyItem values don't exceed the underlying range
When the type of an enum is known (char, short, int .. etc)
check the values used in the EnumPropertyItem are valid for that type.

This would have made the error from [0] fail at build time.

[0]: 928721c59e
2023-09-28 12:05:47 +10:00
Campbell Barton
640d49c38a RNA: set range for "uchar" type int property
This avoids the need to explicitly set inline, extract the int range
into a function (needed to support validating the RNA range for enums).
2023-09-28 12:05:47 +10:00