Age | Commit message (Collapse) | Author |
|
|
|
In some cases, users start video editing work from General template,
where Filmic view transform is chosen by default. Currently, this causes
issue when working with sRGB footage, which are not properly decoded
into linear working space and final render looks miscolored.
When adding first strip, check it's colorspace and if it corresponds to
colorspace for byte images, ensure that view transform is set to
default value, which is Standard.
Reviewed By: brecht
Differential Revision: https://developer.blender.org/D11151
|
|
Some discard of vertbuf were not correctly followed by discards of
the GPUBatches that were using them. This lead to a use-after-free
situation where GPUBatches would reuse old VBO information. This did
not crash immediatly because the VBO indices were cached by our VAO
caching system. It kept working on some implementation because VBO
reference in the VAO (probably) preventing the VBO from being freed
by reference counting.
This fixes T85977 NVidia: Random crashes in 'DrvPresentBuffers'
|
|
The little chevron tab to open a hidden region wouldn't show up in the
Spreadsheet editor. Cause was an incorrect GPU-scissor usage:
While drawing regions, the scissors should be kept enabled, just the
scissor rectangle should be updated - and afterwards reset to what it
was before.
|
|
Reports would change the active emboss of the Block, to make some of its
buttons appear without background. But it didn't reset it so that
buttons added afterwards wouldn't use the correct embossing.
|
|
Text data block were not considered special in the recursive purge
function. So they would get deleted if they had no actual users.
To fix this we instead make text data block use "fake user" so that
addon authors can specify script files that should be removed if nothing
is using it anymore.
Per default, new text object have "fake user" set. So functionality
wise, the user has to explicitly specify that they want the text object
to be purge-able.
Reviewed By: Bastien
Differential Revision: http://developer.blender.org/D10983
|
|
Problem introduced in {rB1f223b9a}.
This was possibly causing random crashes in Blender file browser when
compiled with ASAN.
Microsoft documents indicate that any call to `CoInitializeEx` must be
balanced by a corresponding call to `CoUninitialize`.
https://docs.microsoft.com/en-us/windows/win32/api/combaseapi/nf-combaseapi-coinitializeex#remarks
|
|
|
|
There was a function to set 2 pixels wide for inverse filling, but this must not be done in the borders of the image.
Now, the borders are checked before set 2 pixels.
|
|
Workaround for crash when accessing FaceMaps / PaintMask data in
editmode, just disallow access in editmode as is done with UVs.
Same fix as in {rB3e2619b3e72a}.
Maniphest Tasks: T87969
Differential Revision: https://developer.blender.org/D11146
|
|
Apparently, there is no emplace semantic available in the Vector in
the stable branch.
|
|
Initial report was mentioning the Classroom demo scene, but this is
probably because the scene was pre-configured to be used with OpenCL.
Would expect any OpenCL compositing to be failing prior to this fix.
The reason why crash was happening is due to OpenCL queue being
released from OpenCLDevice destructor. Is not that obvious, but
when Vector (including std::vector) is holding elements by value
a destructor will be called on "old" memory when vector capacitance
changes.
Solved by making forbidding copy semantic for compositor devices and
forcing move semantic to be used.
Also use emplace semantic in the devices vector initialization.
|
|
Currently overriding properties within material node trees is not
supported. However there is a workaround that allows feeding values
through drivers via an intermediate custom property, as described
in T82404. The workaround relies on the behavior of the ID copying
code that always patches datablock self-references even without any
overrides.
Unfortunately, this broke during development of 2.93. This happened
because a call RNA_struct_override_matches added in rB2281db72b0157
detects that no override exists, and 'restores' the self-reference
to point to the original datablock.
To avoid this, mark the Material.node_tree property with the
PROPOVERRIDE_IGNORE flag to stop RNA_struct_override_matches
from recursing into the currently unsupported node tree sub-block.
This flag should be removed when this is properly supported.
This was confirmed to fix the workaround and discussed with @mont29.
|
|
There was a quadratic algorithm extracting triangles from a coplanar
cluster. This is now linear.
Also found and fixed a bug in the same area related to the triangulator
added recently: it didn't get the right correspondence between new
edges and original edges.
|
|
This is related to T87905
|
|
Previously the option in the camera's //Object Data Properties > Viewport Display
> Sensor// would not display the sensor in camera view. This seemed to be caused
by the theme color `TH_VIEW_OVERLAY` having zero set for the alpha channel and
alpha blending being active, resulting in no visible output. Hence
`immUniformThemeColorShade(TH_VIEW_OVERLAY, 100);` is replaced with
`immUniformThemeColorShadeAlpha(TH_VIEW_OVERLAY, 100, 255);`.
Reviewed By: mano-wii
Differential Revision: https://developer.blender.org/D11075
|
|
When saving a file in Edit mode with Multiframe enabled, the render did not include the modifiers.
Now the multiframe is not enabled if it's doing a render.
|
|
Resolves occasional glitch/flicker drawing dark buttons in the UI.
Regression in 405a5d3bd7ada5dd5af605b59ba07c7144f144a2
which removed shader unbinding when the batch is drawn.
GPU_shader_bind could run with the sRGB uniform in an unexpected state.
Reviewed By: fclem
Ref D11124
|
|
Request from Blender studio for cached pipeline.
|
|
Multi-overrides of a same linked ID in a same override hierarchy are
currently not supported and can cause all kind of issues.
In some cases they could lead to infinite loop trying to resync the same
ID over and over, this is now prevented.
Found in some Blender studio production files.
|
|
This reverts commit f4d5a69cf8512aafcc697d1b09f65489015b6af4.
This causes bpy.ops.object.modifier_apply.poll() to fail as
well as modifier binding operators (breaking tests).
|
|
The formula used to compute the bend did subtraction of two big numbers
to get the position. Changed to find the delta and add that,
by rearranging the formula into a more numerically stable form.
Reviewed By: mano-wii, campbellbarton
Ref D11074
|
|
Hack to bypass drag events, eventually the gizmo API
should support this use case without hacks.
|
|
None of these generic poll functions had NULL pointer checks,
since all operators that use these functions expect a valid constraint,
modifier .. etc. Add the NULL check to the poll function.
Ref D11126
Reviewed By: mont29, Severin
|
|
Logical error let this function to write one past the buffer bounds.
|
|
|
|
Add missing operator poll, depend on the 3D view for all
sculpt paint/mask operators.
|
|
|
|
GLDrawList::init() used MDI_INDEXED which checks base_index_.
|
|
Local view return argument to ED_object_add_generic_get_opts
was left uninitialized.
|
|
|
|
|
|
Use invert_m4_m4_safe_ortho for the knife tool to support
operating on objects with a single zero scaled axis.
|
|
BMesh intersect could leave invalid items in the selection list,
causing a crash. The list is now cleared since boolean is such a
destructive operation, it's unlikely the selection order would be useful.
Thanks to @lukastoenne for finding the root cause.
|
|
Incrementing a floating point value in a loop resulted in the vertex
locations for circles in primitives being slightly asymmetric.
|
|
Ref T78710
|
|
Regression in 21b9231d7f5a248027c32dcc7daab3318390c20f
|
|
Differential Revision: https://developer.blender.org/D11115
|
|
Bisect-plane calculation needed to take non-uniform scale into account.
|
|
FLT_EPSILON was added to the threshold when comparing values,
this caused problems selecting similar small faces since the areas
can be very small in this case.
Also increase the displayed precision so it's easier to use
smaller numbers.
|
|
The default value of `0.0001` was displaying as `0.000`,
increase the display precision to 5 since this value often needs
to be small.
|
|
Logic for bisect handled edges in the face crossing the plane,
but not concave N-gons containing multiple edges that lie on the plane.
|
|
The algorithm that calcualted the direction (inside/outside) of the
polyline was not always returing the correct result. This mean that the
polyline was filled "inside-out".
The fix uses the winding number to calculate the inside and outside.
Reviewed By: antoniov, pepeland
Maniphest Tasks: T87718
Differential Revision: https://developer.blender.org/D11054
|
|
Issue was caused by anim handle being reset by
`DEG_evaluate_on_framechange()`
Preserve anim handle by backing it up in
`blender::deg::SequenceBackup`
Reviewed By: sergey
Differential Revision: https://developer.blender.org/D11059
|
|
When frame is rendered to file, bilinear interpolation on scaled images
caused blurred edges.
This is fixed by not doing interpolation with pixels outside of source
buffer.
Such fix doesn't cover cropped images which are currently cropped by
filling area of image with black transparent color, because image buffer
has bigger size than visible image area.
This is fixed by offsetting range used in previous fix by amount, that
would correspond to crop distance. Because of this, image area doesn't
even need to be filled with transparency.
Reviewed By: sergey
Differential Revision: https://developer.blender.org/D11058
|
|
Reviewed by Sebastian Parborg
https://developer.blender.org/D11095
|
|
When an aligned (or auto) handle was snapped with only the control
point selected, it would not snap to the correct point, but offset. This
was because the handles were not considered selected. The `TD_SELECTED`
flag was not being set.
The fix makes sure that we include the handles in the selection when
the handle is aligned or auto.
Reviewed By: antoniov
Maniphest Tasks: T86881
Differential Revision: https://developer.blender.org/D11111
|
|
This was caused by the new depsgraph persistence.
The GPUbatches we got from the cache being the same for each frame
means that we need to be more careful about cleanning the additional
VBOs references.
Moving the `EEVEE_motion_blur_swap_data` function call at the end of
the loop makes sure the references are cleaned.
|
|
Differential Revision: https://developer.blender.org/D11108
|
|
Differential Revision: https://developer.blender.org/D11107
|