Caused by fb556c75df
The ideal would be to increase the version file, but this would make
the versioning code a bit messy, and it was a recent error
(it shouldn't affect many users).
Since different symbols are implemented, there is a distinction between
endpoint and loose point, which was partially missing in the snap code
for Mesh.
This case probably hasn't been triggered before because we rarely move individual
const-components around between geometry sets. This happened in #113083 in the
optimization when all elements are in the same group.
Pull Request: https://projects.blender.org/blender/blender/pulls/113160
`DRW_drawdata_get` reuses the same `DrawData` for all duplis,
so they all end up using the same `ObjectHandle` and `ObjectKey`,
which breaks motion vectors.
* Don't use `DRW_drawdata_get`.
* Simplify `ObjectKey`.
This also solves the issue of objects created "on the fly" always having
the `ID_RECALC_ALL` flag.
Pull Request: https://projects.blender.org/blender/blender/pulls/112544
Since garbage collection of texture pools happens every time
`drw_manager_init` is called, interleaved calls to different
`DRW_draw`/`DRW_render` functions can result in a constant cycle of
creating/releasing textures.
This PR changes texture pools to only release textures that have not
been used for N garbage collection cycles.
I chose 8 as default since I think is high enough to avoid the issue
while it's unlikely to cause any major spike in memory consumption.
Pull Request: https://projects.blender.org/blender/blender/pulls/113024
This is because the menu entry was using different operator
properties from what the shortcut is defined for. It was needed
to make it so an operator which is called from the menu does not
have dependency on the mouse location.
Now it is achieved by resolving MOUSE side to RIGHT from the
operator's exec().
Ref #112598
Pull Request: https://projects.blender.org/blender/blender/pulls/113143
New bones (Shift+A in armature edit mode) are added to the active bone
collection. This collection can be hidden, causing the newly added bone
to be invisible. This is consistent with adding objects to hidden scene
collections, but can be confusing nonetheless. Now a warning is issued,
at least for the armature/bone case.
This reverts 690a3ddf7e and makes it so that we don't even try
to generate the correct declaration for templated functions instead.
The reason for generating these declarations was to detect errors
when calling functions with the wrong signature. However, we still
get compile time errors when trying to call the function with wrong
parameters.
This helps simplifying the code in #113114 even more.
We don't ship with OpenGL anymore on Mac platform.
The build option is not even available anymore.
This removes any reference to Apple or Mac in the
Opengl module.
Note that I left the depth_blitting_workaround
even if it originaly meant for Mac because it
might be still useful for other hardware.
Pull Request: https://projects.blender.org/blender/blender/pulls/113126
Since [0] picking a bezier knot doesn't pick the handles,
this meant picking a vertex, then inverting the selection would
delete that vertex, which isn't useful/expected behavior.
Invert selection now considers knots selected whenever any of it's
handles are selected (matching the graph editor).
This change has also been made for grease-pencil bezier editing.
[0]: 618f39fca2
The goal is to allow passing template parameters in the string that is passed
to `RNA_def_function` in rna code. This can reduce redundancy (e.g. when used
together with #113114). Only "simple" template parameters are supported,
i.e. only ones that do not contain a nested `,`.
Function names passed to e.g. `RNA_def_property_pointer_funcs` and
`RNA_def_property_update` happen to support this already without further changes.
Pull Request: https://projects.blender.org/blender/blender/pulls/113121
In UI text inputs, when double-clicking to select words, anchor (set
initial selection position) to the right if on the last word. This
aids in some combined double-click-drag operations.
Pull Request: https://projects.blender.org/blender/blender/pulls/113125
This just do a clear in place for the clear load op.
At least it allows for same result accross backend as
the other op types are only here for performance.
This adds basic emulation of the subpass input feature
of vulkan and to a lower extend Raster Order Group on Metal.
This help test paths that might use this feature in the future
(like shadow rendering) on all platform and or simplify higher
level code for supporting older hardware.
This add clear description to the load/store ops and to the
new `GPUAttachementState`.
The OpenGL backend will correctly mask un-writable
attachments and will bind as texture readable attachments.
Even if possible by the vulkan standard, the GPU API prohibit
the read and write to the same attachment inside the same
subpass.
In the GL backend, this is implemented using `glTextureBarrier`
and `texelFetch` as it is described in the ARB_texture_barrier
extension.
https://registry.khronos.org/OpenGL/extensions/ARB/ARB_texture_barrier.txt
Pull Request: https://projects.blender.org/blender/blender/pulls/112051