Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-10-27GHOST/Wayland: replace deferred registration with an update callbackCampbell Barton
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
2022-10-26Fix T101925: sculpt color painting not updating with Cycles viewport renderBrecht Van Lommel
* 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.
2022-10-26Fix slow continuous depsgraph updates in sculpt paint mode in some casesBrecht Van Lommel
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.
2022-10-26Fix build error on Windows without precompiled headersBrecht Van Lommel
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.
2022-10-26Sculpt: fix T102067: Set material properly in new pbvh drawJoseph Eagar
Note: Still need to fix PBVH_BMESH.
2022-10-26Cycles: oneAPI: update dg2 target to acm-g10Xavier Hallade
Reverting 63aec82e8ae388c8ae0cf3717d18a1eb1e97395a since IGC dependency now supports acm-g10 target.
2022-10-26Cycles: List Level-Zero in oneAPI device requirements in the UI on LinuxXavier Hallade
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
2022-10-26Cycles: use packed float3 back for oneAPIXavier Hallade
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
2022-10-26Fix T101790: MNEE caustic settings are not visible in the UI when using MetalMichael Jones
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
2022-10-26Fix: set more UI colors to PROP_COLOR_GAMMAPhilipp Oeser
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
2022-10-26Fix T102045: Properties Editor Attribute panels errors when pinning meshPhilipp Oeser
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
2022-10-26Revert "GHOST/Wayland: postpone reading from the clipboard until needed"Campbell Barton
This reverts commit c03838dbc8cc4a85cfc93914493a0f1562a53366. Pasting from Blender's own clipboard locked the process. This needs furhter investigation.
2022-10-26GHOST/Wayland: postpone reading from the clipboard until neededCampbell Barton
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.
2022-10-26Cleanup: remove GWL_RegisteryAdd_Params.wl_registryCampbell Barton
No longer needed now GWL_Display holds a reference to the registry.
2022-10-26GHOST/Wayland: support device add/removal at runtimeCampbell Barton
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.
2022-10-26GHOST/Wayland: use a predictable order for interface registrationCampbell Barton
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.
2022-10-26deps_builder: fix hardcoded pathRay Molenkamp
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
2022-10-25Cleanup: formatChris Blackbourn
2022-10-25Fix window flickering when moving windows between monitors in WaylandCampbell Barton
Moving widows between monitors with different scale set could flicker in a feedback loop because the bounds of the window resizing could cause the bounds of the windows to overlap different monitors. Now the window is resized immediately, instead of letting the change to the windows surface scale resize the window.
2022-10-25Fix Cycles build error on 32bit x86Brecht Van Lommel
2022-10-25Cleanup: Curves: Remove GPUTexture wrappers for buffer textureClément Foucault
These are unecessary now that we can bind buffers as textures directly.
2022-10-25Fix T102052 GPencil: stroke outline glitches in object modeClément Foucault
Was caused by an extra point per stroke being drawn.
2022-10-25DRW: Pointcloud: Refactor drawing to remove instancingClément Foucault
This change the attribute binding scheme to something similar to the curves objects. Attributes are now buffer textures sampled per points. The actual geometry is now rendered using an index buffer that avoid too many vertex shader invocation. Drawcall is wrapped in a DRW function to reduce complexity of future changes.
2022-10-25Fix T99603: node body colors colormanagement issuePhilipp Oeser
This led to the color actually looking different on the node body itself vs. in the panel, also using the colorpicker gave unexpected results. UI colors should use PROP_COLOR_GAMMA to avoid being affected by scene color management (clarification by @brecht). Maniphest Tasks: T99603 Differential Revision: https://developer.blender.org/D16334
2022-10-25Fix T101933: pick deselecting bones in empty space deactivates armaturePhilipp Oeser
As a consequence of this, subsequent box-selection of bones would not show correctly in Animation Editors (not showing the channels there because of the lack of an active object). The bug was caused by rBba6d59a85a38. Prior to said commit, code logic was relying on the check for `basact` being NULL to determine if object selection changes need to happen. After that commit, this was handled by a `handled` variable, but this was not set correctly if `basact` is actually NULL after the initial pick (aka deselection by picking). Maniphest Tasks: T101933 Differential Revision: https://developer.blender.org/D16326
2022-10-25Fix T102048: Tablet cursor remains hidden under KDE/WaylandCampbell Barton
2022-10-25GHOST/Wayland: swap tablet middle/right mouse buttonsCampbell Barton
There looks to be an inconsistency between Gnome/KDE here, match KDE and Gnome applications under X11 (even XWayland) by making the button closest to the nib MMB, and the other button RMB.
2022-10-25UI: Fix count on node editor/group header when fake userDalai Felinto
The number of node groups was including the fake user count. I was ignoring the Fake User, and how it affects the id->us count. This problem was present since the initial commit: 84825e4ed2e09895.
2022-10-25Build: fix/workaround for the opencollada.diff not applying on LinuxCampbell Barton
2022-10-25GHOST/Wayland: store fractional scaling in each window instead of DPICampbell Barton
This makes it possible to access the fractional scaling for a window, there is no need to store the DPI which can be returned by getDPIHint().
2022-10-25Cleanup: move singleton pointers into the systemCampbell Barton
Avoid top level global pointers, remove the window_manager pointer and move the clipboard mutex along side the clipboard data. Also skip updating window DPI if the window doesn't use the output that changed it's scale.
2022-10-25Cleanup: move ghost/wayland local methods after type declarationsCampbell Barton
Also correct prefix naming.
2022-10-25Fix T82412: Space-mouse not registering (WIN32)Campbell Barton
Using the 3DConnexion Universal Wireless Receiver on MS-Windows caused a different ID to be reported. While I'm not sure of the cause of this, adding the ID doesn't conflict with other devices and fixes the problem.
2022-10-25Correct naming in 97414fb484fe37b8da69a2b570a659535bbf2a0fCampbell Barton
2022-10-25GHOST/Wayland: support adding/removing global objects at runtimeCampbell Barton
Share logic for adding/removing global objects and freeing them on exit. Refactor object registration add/remove into an array of callbacks to localize logic into generic functions for each kind of interface. Also corrects own error where the primary clipboard manager wasn't being destroyed on exit.
2022-10-24GPencil: Fix crash when using circle or rectangle toolClément Foucault
This was caused by a wrongly sized vertex buffer for the stroke buffer.
2022-10-24GPencil: Fix missing fillsClément Foucault
For some reason stroke_id needs to be the triangle index, not the vertex index.
2022-10-24Fix T102015: AV1 - No valid formats foundRay Molenkamp
I did a poor master merge in D14920 before landing and AV_CODEC_ID_AV1 accidentally ended up in `ffmpeg_format_items` rather than `ffmpeg_codec_items`
2022-10-24VSE: Don't use timecodes if not explicitly enabledRichard Antalik
UI panel may suggest, that disabling "Proxy & timecode" would cause timecodes not being used, but this was not the case. Now timecodes will be used only if the checkbox is checked.
2022-10-24Fix T100571: Subdivision disabled with Orbit Around SelectionGermano Cavalcante
The bug has existed since crasy space was implemented. rBbf8a26b7453d made the error even worse as the `modifiers_disable_subsurf_temporary` function, which works like a toggle, did not temporarily re-enable subsurf. The main problem is that the derived mesh is modified but not marked as dirty at the end.
2022-10-24Fix T101981: Incorrect playback of AVI filesRichard Antalik
Commit bcc56253e26e introduced 3 frame negative offset for seeking. This can result in negative seek values. Ensure, that seek value is always positive.
2022-10-24Fix T101210: invalid internal node links lead to crashJacques Lucke
Internal links are run-time/derived data. Therefore it is not necessary to load them from .blend files where invalid internal links may be stored. They will be regenerated after a node tree is loaded anyway.
2022-10-24GPencil: Fix regression (part3) with edit mode introduced in rB0ee9282b5c51Clément Foucault
Vertex indexing has not been updated and stroke_start usage was wrong. Update all `stroke_start` usage.
2022-10-24Cycles: Metal integrator state size tuningMichael Jones
This patch tunes the integrator state sizing for Metal (`num_concurrent_states` and `num_concurrent_busy_states`). On all GPUs architecture, we adjust the busy:total states ratio to be 1:4 which gives better rendering performance than the previous 1:16 ratio (independent of total state count). This gives a small performance uplift (e.g. 2-3% on M1 Ultra). Additionally for M2 architectures, we double the overall state size if there is available headroom. Inclusive of the first change, we can expect uplift of close to 10% in future, as this results in larger dispatch sizes and minimises work submission overheads. In order to make an accurate determination of available headroom, we defer the calculation of `num_concurrent_states` and `num_concurrent_busy_states` until the time of integrator state allocation (i.e. after all of the scene data has been allocated). We also refactor `alloc_integrator_soa` to calculate an *exact* single-state-size in a first pass, right before allocating the integrator SoA buffers in a second pass. Reviewed By: brecht Differential Revision: https://developer.blender.org/D16313
2022-10-24Pencil: Fix regression (part2) with stroke buffer introduced in rB0ee9282b5c51Clément Foucault
`vert_len` was being shadowed and index_min & max wasn't correctly set.
2022-10-24GPencil: Fix regression with stroke buffer introduced in rB0ee9282b5c51Clément Foucault
2022-10-24GPencil: Fix regressions introduced in rB0ee9282b5c51Clément Foucault
Batching was broken / disabled and starting indices were wrong.
2022-10-24Fix T101946: Outliner data-block counter treats bones as collectionPhilipp Oeser
Mistake in own rBb6a35a8153c3 which caused code to always recurse into bone hierarchies (no matter which collapsed level an armature was found). This led to bone counts always being displayed even outside a collapsed armature (e.g. if an armature was somewhere down a object or collection, the collapsed object or collection would show this bonecount). This is inconsistent with other data counting in the Outliner, e.g. vertexgroups or bonegroups do have their indicator at object level, however the counter only shows if `Vertex Groups` or `Bone Groups` line shows (so if the object is not collapsed). And this also led to the bug reported in T101946 which was that the bone counts would be treated as collections when further down a collapsed hierarchy. Background: The whole concept of `MergedIconRow` is based on the concept of counting **objects types or collectinons/groups**. If other things like overrides, vertexgroups or bonegroups are displayed in a counted/ merged manner, then these will always be counted in the array spots that are usually reserved for groups/collections. But for things this is not a problem (since these are only displayed below their respective outliner entry -- and will never be reached otherwise). So to correct all this, we now only recurse into a bone hierarchy if a bone is at the "root-level" of a collapsed subtree (direct child of the collapsed element to merge into). NOTE: there are certainly other candidates for counted/merged display further up the hierarchy (not just bones -- constraints come to my mind here, but that is for another commit) Maniphest Tasks: T101946 Differential Revision: https://developer.blender.org/D16319
2022-10-24Fix T102008: Images are stretched when texture limit is enabledOmar Emara
Currently, if an image exceed the texture limit setup by the user or the GPU backend, it will be scaled down to satisfy the limit. However, scaling happens independently per axis, that means the aspect ratio of the image will not be maintained. This patch corrects the smaller size to maintain the aspect ratio. Differential Revision: https://developer.blender.org/D16327 Reviews By: Clement Foucault
2022-10-24GPencil: Fix build errors caused by designated initializer in C++Clément Foucault