Age | Commit message (Collapse) | Author |
|
Previously both slashes were considered when joining paths, meaning
slashes that were part of the path name could be stripped before joining
the path.
Prefer using the native path separator for low level path functions,
callers can always convert slashes into the expected direction if they
need. This also matches BLI_path_append behavior.
|
|
With a full SVN checkout of "../lib", updating all paths is slower
than running an update on the whole repository at once.
Also collect paths and run the update in separate passes, this avoids
some duplicate checks such as checking the svn command exists.
|
|
|
|
This is defined by a system header (xatomic.h) with MSVC.
|
|
This was because `stroke_id` was not using `vertex_start`.
But since `vertex_start` is not 1 based like it used to be, we need to add
1 to it to avoid a fragment depth of `0.0` which would be equal to the
background and not render.
|
|
There were two problems:
* The stroke was deleted if the last point was selected. Now
the stroke is flipped because is faster.
* If the second point was selected, the first point was removed
because the internal api, removed one point strokes by
default. This was done becaus ethe tools that used this API
did not need one point strokes as result. Now this optional
and keep one point strokes.
|
|
This is a convenience when one needs to often change the current framebuffer
and avoid the overhead of creating many Main/Simple passes.
|
|
Was caused by uvs not being sourced from the correct buffer.
|
|
This allows using drawcalls with non default vertex range.
These calls will be culled like any other instance by the GPU culling
pipeline. But they will not be batched together since the vertex range
is part of the group.
|
|
Copying and appending is unnecessarily verbose with each call having to
pass in the buffer size.
|
|
Avoid copying the string then calling BLI_path_slash_ensure afterwards.
|
|
BLI_path_slash_ensure was appending to fixed sized buffers without
a size check.
|
|
Regression in [0], accessing the path from the file selector relied on
BLI_join_dirfile adding a trailing "/" when the filename was empty.
[0]: 9f6a045e23cf4ab132ef78eeaf070bd53d0c509f
|
|
regression from rB116d7b0042bba7d6cabd8e04c7d020ac3816caf3
|
|
When pushing down an Action to a new NLA track, the track is now named
after the Action.
|
|
|
|
This can be used for example for VR video formats that use this projection
instead of perspective projection for cubemap faces.
Differential Revision: https://developer.blender.org/D13525
|
|
|
|
|
|
Missed clearing the tablet pointer after updating removing the tablet
manager.
|
|
Note issues with track-pad event handling, add some other notes too.
|
|
If opening a pipe failed, 'data_offer->dnd.in_use' wasn't cleared.
Avoid early return where it duplicates logic in an error prone way.
|
|
File level static variable names weren't well distinguished from others.
Use `ghost_wl_` prefix for static variables.
|
|
|
|
There wasn't much advantage in using C++ native types as all Wayland
API's deal with C strings.
|
|
It wasn't clear that this is only used for drag & drop,
also don't use an atomic type as all access is guarded by the
drag & drop mutex.
|
|
A copy of the clipboard was always being, changes would re-read it.
Now read the clipboard on request. This avoids having to keep a copy
of the clipboard in memory as well as the need to keep a thread
to running to read the clipboard for each data-offer.
To prevent a deadlock when pasting from Blender's own clipboard.
- Sending the clipboard (using write(..)) runs in a background thread.
- Reading the clipboard uses a thread that performs round-trips to the
Wayland server to prevent until the read is complete.
This is an update to [0] that resolves the deadlock.
[0]: c03838dbc8cc4a85cfc93914493a0f1562a53366
|
|
When the Wayland pipe can't be opened, don't leave the mutex locked.
Also skip checking wl_data_device_manager when reading from the primary
clipboard.
|
|
CYCLES_ONEAPI_ALL_DEVICES environment variable wasn't working as
intended after 305b92e05f748a0fd9cb62b9829791d717ba2d57.
|
|
wl_registry_destroy does not enjoy being fed a null pointer.
Added a null check to keep it out of trouble.
|
|
MSVC give a rather large warning when using blender::parallel_sort
without using a lambda for the comparison.
Fixed by using a lambda
|
|
There was a problem with the hash table that was
not created as expected.
Also fixed an unreported memory leak in Grab tool not
related to this crash but detected during debug.
|
|
There were two issues caused by deferred registration (added by [0]),
one crash on startup (T102075), another unreported issue with the GLX/EGL
context failing to initialize. Unfortunately I'm unable to reproduce the
errors but it seems likely deferring interface registration is not well
supported so this commit uses an alternative solution to some interfaces
depending on others for initialization.
Instead of relying on the order of registration, a separate "update"
callback has been added which is called after binding interfaces.
This has the advantage that it can be called when adding/removing
interfaces at run-time to avoid the dangling pointers being left in
locally allocated structures. In practice adding/removing interfaces
happens so rarely (only with "outputs" as far as I'm aware) that this
benefit is theoretical at the moment.
This should resolve T102075.
[0]: 9fe9705bc0af9d881905d75957c8dd467f8c8cb3
|
|
* External engines do not use the PBVH and need slower depsgraph updates.
* Final depsgraph tag after stroke finishes was missing for sculpt color
painting, caused missing updates for other viewports as well as any
modifiers or nodes on other objects using the colors.
|
|
Updates for cursor could cause the paint data to be continuously refreshed,
which is pretty cheap by itself, but not when it starts tagging the depsgraph.
The paint slot refresh code ideally should not be doing depsgraph tags at all,
but checking if there were changes at least avoids continuous updates.
|
|
Recent refactoring to use uint relied on indirect includes and precompiled
headers for uint to be defined. Explicitly include BLI_sys_types where this
type is used now.
|
|
Note: Still need to fix PBVH_BMESH.
|
|
Reverting 63aec82e8ae388c8ae0cf3717d18a1eb1e97395a since IGC dependency
now supports acm-g10 target.
|
|
Intel documentation for Ubuntu 22.04 does list all runtime components
needed by the driver and oneAPI Cycles device but end-users getting
drivers from (other) sources can easily end-up missing required
Level-Zero Loader and struggle root causing what's wrong in their
system. Calling this requirement out in the UI will hopefull help them.
oneAPI Level-Zero incl. Loader: https://github.com/oneapi-src/level-zero
Common package names: level-zero, level-zero-loader
|
|
This fixes a 15% performance regression silently introduced by
79ab76e156d4bde937335be784cdf220294600d5 that aligned the compact
float3 on 16 bytes for oneAPI.
Current change is minimalist, there are further cleanup opportunities
such as removing packed_float3 definition for oneAPI but for some
reason, it cuts the recovered speedup in half, so we're starting with
this small fix for now.
Reviewed by: brecht
Differential Revision: https://developer.blender.org/D16340
|
|
This patch fixes T101790 by adding a macOS version check for deciding whether to show the caustics settings in the UI (MNEE kernels don't compile on macOS < 13.0)
Reviewed By: brecht
Maniphest Tasks: T101790
Differential Revision: https://developer.blender.org/D16339
|
|
Followup to rBfb424db2b7bb. Found some more candidates.
UI colors should use PROP_COLOR_GAMMA to avoid being affected by scene
color management (clarification by @brecht).
Differential Revision: https://developer.blender.org/D16337
|
|
When pinning a Mesh, we cannot rely on the context object.
Instead, use the context mesh now.
For vertexgroups names [which are still on the object API wise], this
means name collisions cannot be checked when pinning a Mesh (so print
this as a warning in that case)
Maniphest Tasks: T102045
Differential Revision: https://developer.blender.org/D16333
|
|
This reverts commit c03838dbc8cc4a85cfc93914493a0f1562a53366.
Pasting from Blender's own clipboard locked the process.
This needs furhter investigation.
|
|
A copy of the clipboard was always being, changes would re-read it.
Now read the clipboard on request. This avoids having to keep a copy
of the clipboard in memory as well as the need to keep a thread
to running to read the clipboard for each data-offer.
|
|
No longer needed now GWL_Display holds a reference to the registry.
|
|
Keep the registry listener active at runtime, now plugging/unplugging
monitors at run-time is detected and the associated data stored by
Blender is added/removed as well.
Previously all interfaces were detected at startup, afterwards no
changes were supported.
|
|
Defer interface registration so all known interfaces can be called in
the order defined by the array of supported types.
Without this, the compositor defined the order of registration so it
wasn't possible to rely on registration functions to depend on other
interfaces.
This caused initialization for 'seats' to be moved out of the
register callback to ensure multiple interfaces were initialized.
This isn't good for readability or maintenance since it meant the
add/remove callbacks didn't act on matching data.
|
|
the windows builder has 2 different build folders for the debug and
release libs, hardcoding the path like this leads to an extra 1GB
of downloaded files. The windows builder supplies a single PACKAGE_DIR
for both but gets ignored.
This change promotes PACKAGE_DIR to be cached in CMakeCache so it can
be changed if needed.
Differential Revision: https://developer.blender.org/D16213
Reviewed by; brecht, dfelinto
|
|
|