This list can be used as a source of truth for what needs to be
supported in CustomData vs. AttributeStorage for some ongoing work.
These comments just make it a bit more useful.
With changes to the playhead to correctly draw when separated from the
vertical line (for time stretching) some parts are slightly misaligned.
This PR corrects the vertical alignment of the top of the triangular
part to the number box. It also corrects horizontal alignment of the
vertical line to be pixel-aligned based on the interior, not the shadow
exterior.
Pull Request: https://projects.blender.org/blender/blender/pulls/147825
The Kernel mode of the Glare node is dependent on the quality input of
the node. This patch makes it such that it is independent. This is down
by downsampling the kernel with the same amount the image was
downsampled.
Pull Request: https://projects.blender.org/blender/blender/pulls/147811
eevee_geom_world_vert.glsl and eevee_geom_volume_vert.glsl do not
support shadows, but the shader validation pipeline still compiles the
shadow variant of these shaders. This results in the fragment shader
reading from inputs that are not written to as vertex shader outputs.
On the Intel Windows OpenGL driver, this leads to a shader linking
failure. This PR avoids the issue by writing zeros to the interface
variables when MAT_SHADOW is defined.
This function is used to add undo steps. It includes a message, for
use in the Undo History menu. This label uses the "Operator" context
for translation.
This commit adds automatic extraction of two functions `ED_undo_push`
and `ED_undo_grouped_push`, as well as manual extraction for many
strings not declared in the function calls.
In order to extract those messages using the proper context, the
extraction logic had to be changed so that a custom context could be
specified. The regexes can now be either a pattern, or
a (ctxt_override, pattern) tuple.
Pull Request: https://projects.blender.org/blender/blender/pulls/147581
Tooltips could crash where callbacks receive the wrong argument.
This is because the swap function was missing the `custom_tip_func` callback,
but was swapping the callback argument.
Pull Request: https://projects.blender.org/blender/blender/pulls/147806
Tooltips could crash where callbacks receive the wrong argument.
This is because the swap function was missing the `custom_tip_func` callback,
but was swapping the callback argument.
Pull Request: https://projects.blender.org/blender/blender/pulls/147806
This seems like an out of memory issue where the storage
buffer could not be allocated but still used as a destination
for a copy. After an out of memory issue memory can be fragmented
and any allocation can still fail.
On `AMD Radeon(TM) 890M Graphics Advanced Micro Devices AMD`
`24.30.58` I got to multires subdivision level 2+6 using the steps
described in the report. 2+7 is failing for me. 2+6 already requires 16GB
of memory using large chunks.
OpenGL and Vulkan work with other limits and memory models and can
have different behavior. This PR only improves the mentioned issue, but
can still fail in other areas.
Pull Request: https://projects.blender.org/blender/blender/pulls/147713
In certain scenarios, the Node Editor lacks the `RGN_TYPE_ASSET_SHELF` &
`RGN_TYPE_ASSET_SHELF_HEADER` regions.
That is because the versioning code from 0a0dd4ca37 only creates these
for Node Editors that are Compositors.
That does not seem right. The thing is, if you change a non-node Editor
(e.g. an Image Editor) to a Compositor editor, all is fine (`SpaceLink
*node_create` gets called, the regions set up correctly), but changing
an **existing** node editor (e.g. Shader or Geometry Nodes) to a
Compositor, no new Space gets set up (rightfully so) and we are then
missing the regions.
I dont really see an issue with having the versioning setting up shelf
regions for **all** node editors (the shelf polls will already take care
of it only showing in the Compositor) which is what this PR does.
Now we are in the unfortunate situation that people might have saved
their `startup.blend` (or other files affected by that) in the meantime,
so versioning will not kick in anymore, so we probably have to do
another versionbump (which will happen in `main`).
Pull Request: https://projects.blender.org/blender/blender/pulls/147689
Scaling images in the compositor sometimes causes images to shift, this
is because the realization domain was computed using the center of the
original image before scaling. To fix this, we make sure the
transformation is actually centered.
This is rarely apparent and thus no tests need to be updated and this
should not be backported for safety.
Pull Request: https://projects.blender.org/blender/blender/pulls/147805
The `ScreenAnimData` which is saved to the animation timer on the
screen during playback stores a pointer to the scene that is playing.
When deleting a scene, the next time the timer is triggered this will
result in an invalid pointer de-reference.
This fixes the crash by stopping the playback when a scene is deleted.
Pull Request: https://projects.blender.org/blender/blender/pulls/147687
Compositor crashes when connecting a menu output to a float input, this
is because no implicit conversion is supported between the two, and no
handling was done in this case. To fix this, we fallback to a default
value for unsupported implicit conversions.
Pull Request: https://projects.blender.org/blender/blender/pulls/147801
This seems to be a Mesa driver error.
Discarding the buffer before the area drawing fixes the
issue.
Given this is an expensive operation, we try to only do it
where it is needed.
Pull Request: https://projects.blender.org/blender/blender/pulls/147733
Root cause is, that reverse playback would not call
`BKE_sound_play_scene()`, however `BKE_sound_stop_scene()` was called
always.
There was some weird logic in `ED_screen_animation_play()` where
condition for what sound scene was to be stopped exactly was inverted
for sequencer and duplicated for non-sequencer scene. This may also
be incorrect if somebody manages to start playback in active scene, then
create sequencer scene and stop it there.
Fortunately `ScreenAnimData` keeps pointer to scene which started
playback, so this is used to also stop the playback.
To make this code bit more readable, the function was split into
functions starting and stopping the playback, so the logic can also be
simplified a bit.
Finally, `sound_device_use_end_after()` was modified to do sanity check.
If the number of users is already 0, it does nothing and returns.
There assertion to catch this in debug builds.
Pull Request: https://projects.blender.org/blender/blender/pulls/147613
This patch shows the start and end frames of the Movie Clip in its UI
template, which is now shown in the compositor node N-panel and camera
background image
Pull Request: https://projects.blender.org/blender/blender/pulls/145541
On certain platforms Blender can crash on startup after the update of
VMA. This was because we want to select the correct memory area based on
requirements/preferences, but the overall flag was set to auto.
These options are mutual exclusive. This PR changes the flags to use the
requirements/preferences.
Pull Request: https://projects.blender.org/blender/blender/pulls/147781
This patch mixes the alpha channel of the color in the Mix mode of the
Mix node. This has no effect on EEVEE/Cycles since they do not support
alpha, but affects the Compositor, Geometry Nodes, and Texture Nodes.
Previously, the alpha of the first color was assumed, which meant mixing
two images with transparency using a mask in the compositor resulted in
part of the image having bad alpha and required manually mixing of the
alpha channel. And this is the main motivation of this patch.
Pull Request: https://projects.blender.org/blender/blender/pulls/146461
This read as if it enabled window decorations.
Clarify & update the doc-strings of windowing arguments to be consistent.
Also order their inclusion in --help more logically.
Bug report #146812 shows areas being vertically resized incorrectly
when there are multiple areas at minimum height adjacently aligned
at the bottom with the lower one being a SPACE_ACTION-type editor.
So timeline minimized at the bottom with another minimized area
directly above it and then window height is increased. Our code that
scales area vertices has specific code to keep a minimized timeline
at minimum height when at the bottom with increased window height. We
also have code that ensures that all areas are at least minimum height.
These two things conflict in this specific case because they are both
done while relying on area->winy, which is not updated between
operations. This PR uses screen_geom_area_height instead, which uses
screen vertex distances.
Pull Request: https://projects.blender.org/blender/blender/pulls/147764
The Selection to Active operator failed when the selected object was
parented to the active object. Fix by allowing child objects to move to
the active object unless "Offset" is enabled.
Ref !147204