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
2021-08-14disable X11 for Wayland-only buildwayland-no-x11Christian Rauch
2021-08-14cmake: disable WITH_GHOST_WAYLAND if any Wayland dependency is missingwayland-x11-fallbackChristian Rauch
This sets WITH_GHOST_WAYLAND to ON and auto-disables it again, if one of the required Wayland development libraries is missing. Differential Revision: D11489
2021-08-14GHOST/wayland: use Wayland only when 'BLENDER_WAYLAND' is setChristian Rauch
When the X11 and Wayland backends are available, only query Wayland when the BLENDER_WAYLAND environment variable is set and notify the user if this failed. This makes sure that Blender will always use X11. User can then opt-in to Wayland for testing and can continue using X11 in case of issues. Differential Revision: D11489
2021-08-14GHOST/X11: link libGL for X11-EGL to resolve OpenGL symbolsChristian Rauch
This links libGL if X11-EGL is enabled, since libOpenGL is not installed by default on some distributions. This is a workaround to resolve the OpenGL symbols that would otherwise be resolved via GLVND. Differential Revision: https://developer.blender.org/D12034
2021-08-14GHOST/X11: don't link GLX when using EGLChristian Rauch
Differential Revision: https://developer.blender.org/D12034
2021-08-14GHOST/X11: remove duplicated EGL linkingChristian Rauch
Differential Revision: https://developer.blender.org/D12034
2021-08-14GHOST/X11: enable EGLChristian Rauch
This will replace GLX with EGL for X11. GLEW does not support GLX and EGL at the same time. Most distributions build GLEW with GLX support, so we have to use the externally provided GLEW and build with EGL support. This effectively sets WITH_SYSTEM_GLEW to OFF for all Linux configurations. Differential Revision: https://developer.blender.org/D12034
2021-08-14Cleanup: Variable names, formatting, reduce indentationHans Goudey
2021-08-14BLF Cleanup: Size Defines, Comments, etcHarley Acheson
This patch makes some non-functional changes to BLF code. Some size defines added, comments changed, simplification of macro BLF_KERNING_VARS. See D12200 for more details. Differential Revision: https://developer.blender.org/D12200 Reviewed by Campbell Barton
2021-08-13Cleanup: rearrange includesGermano Cavalcante
Bring the includes from the same project together.
2021-08-13Fix T90637: Outliner: VSE context menu options are not workingGermano Cavalcante
Some of the enum options in the context menu operations are not supported for all element types. `TSE_SEQUENCE`, for example, only supports the `Select` option. So, populate the enum list dynamically depending on the type. Also add some calls that were missing for the `TSE_SEQUENCE` type. (`WM_event_add_notifier` and `ED_undo_push`).
2021-08-13Cleanup: fix typos in static variablesGermano Cavalcante
_desps --> _deps
2021-08-13Fix T86883: Add/fix suport of liboverrides in relocate/reload library case.Bastien Montagne
There was already some code for that, but it was broken, and proper resync was completely missing. There might still be more resync needed in library linking operators though.
2021-08-13Blendloader: Option to reports to skip list of recursively ↵Bastien Montagne
liboverride-resynced libs. This extra info is not always needed/convinient to use, and requires special attention to free the list, so allow not generating it.
2021-08-13ViewLayer resync: Add sanity checks for objects/bases mappings.Bastien Montagne
Add a debug-only check regarding consistency of the cache (mapping from objects to their bases) for a given ViewLayer. Issues can happen otherwise when some code does remapping of objects, and forgets to call `BKE_main_collection_sync_remap()` (which clears those caches) instead of `BKE_main_collection_sync()`.
2021-08-13Fix T90595: some VSE strip properties do not identify strip name in animPhilipp Oeser
channel names Working with multiple strips keyframes was unneccessarily difficult in Animation Editors (since some anim channels could not be distinguished). Namely `Crop` and `Transform` are nested structs (nested under `Sequence`), so these were just displaying the raw struct name. Also strip modifiers did not have their strip name in their channel names. Now include the strip name for these. before {F10277439} after {F10277441} Maniphest Tasks: T90595 Differential Revision: https://developer.blender.org/D12193
2021-08-13Fix FTBFS on mips64el architectureMatteo F. Vescovi
While trying to get Blender 2.93.x LTS to build fine on all release architectures in Debian, I noticed that the misleading use of "mips" as integer variable caused problems when compiling on mips64el. The patch should fix the issue. Reviewed By: fclem Differential Revision: https://developer.blender.org/D12194
2021-08-13Revert "Mesh: replace saacos with acosf for normal calculation"Campbell Barton
This reverts commit 41e650981861c2f18ab0548e18851d1d761066ff. This broke "CubeMaskFirst" test. Any value even slightly outside the [-1.0..1.0] range caused the result to be nan, which can happen when calculating the dot-product between two unit length vectors.
2021-08-13Cleanup: Unused function parameter warningSergey Sharybin
2021-08-13Fix Action Editor unlink button when in tweak modePhilipp Oeser
When in NLA tweak mode, the action unlink button in the Dopesheet / Action Editor should be a mere shortcut to exiting tweak mode [nothing else]. Instead, it was also clearing the action fully, not returning to the previous edited action before going into tweak mode. Now dont "flush" by clearing the action, instead exit tweakmode, clear the scenes SCE_NLA_EDIT_ON flag (if this isnt done some NLA operators like pushdown were not immediately available because their poll checked this flag) and send appropriate notifier to have everything update nicely. Part of T87681 (Bug 4/5/6). Maniphest Tasks: T87681 Differential Revision: https://developer.blender.org/D11052
2021-08-13Cleanup: correct comment exiting NLA tweakmodePhilipp Oeser
Comment was pasted from entering tweakmode.
2021-08-13Fix missing animation UI update in the Properties EditorPhilipp Oeser
Animation indicators as well as decorators for properties were not updating correctly in the following cases: - NLA pushdown (this was reported in T87681) - NLA enter/exit tweakmode - Outliner unlinking/setting action These actions all send a ND_NLA_ACTCHANGE notifier which the Properties Editor was not listening to [which is now added]. part of T87681. Maniphest Tasks: T87681 Differential Revision: https://developer.blender.org/D11040
2021-08-13Keyframe: Reduce GPU context switches.Jeroen Bakker
This change reduces the GPU context switches when drawing keyframes. In the previous situation the keyframe blocks and keyframe keys were drawn per channel. With this patch first all the keyframe blocks are drawn for all channels and after that the keyframe keys are collected for all channels and send to the GPU in a single draw call.
2021-08-13Cleanup: remove unused draw_gpencil_channel.Jeroen Bakker
Code is integrated with draw_scene_channel since 2.80.
2021-08-13Docs: tooltip update missing from 3e775a4fc57cfd48954adcf284354312f34d5412Campbell Barton
2021-08-13PyAPI: remove the .py extension requirement for startup registrationCampbell Barton
This was left over from when these scripts were loaded as modules, where their names needed to be compatible with Pythons module naming. Version patch existing files so text with register enabled without a `.py` extension wont start executing on startup. Resolves T89532.
2021-08-13Mesh: replace saacos with acosf for normal calculationCampbell Barton
The clamped version of acos isn't needed as degenerate (nan) coordinates result in zeroed vectors which don't need clamping.
2021-08-13Docs: note that normalize_v# functions zero out input containing nanCampbell Barton
2021-08-13Cleanup: remove unused BKE_mesh_calc_normals_mapping functionsCampbell Barton
This supported calculating normals for MPoly array which was copied to an MFace aligned array. Remove the functions entirely since MFace use is being phased out and these function isn't used anywhere.
2021-08-13Cleanup: remove use of BKE_mesh_calc_normals_mapping_simpleCampbell Barton
Use BKE_mesh_calc_normals instead of BKE_mesh_calc_normals_mapping_simple for curve modifier calculation. This only made sense for derived-mesh which is no longer used.
2021-08-13Cleanup: code-commentsCampbell Barton
Use capitalization, remove unnecessary ellipsis.
2021-08-13Cleanup: split BKE_mesh_calc_normals_poly function in twoCampbell Barton
Remove the 'only_face_normals' argument. - BKE_mesh_calc_normals_poly for polygon normals. - BKE_mesh_calc_normals_poly_and_vertex for poly and vertex normals. Order arguments logically: - Pair array and length arguments. - Position normal array arguments (to be filled) last.
2021-08-13Mesh: optimize normal calculationCampbell Barton
Optimize mesh normal calculation. - Remove the intermediate `lnors_weighted` array, accumulate directly into the normal array using a spin-lock for thread safety. - Remove single threaded iteration over loops (normal calculation is now fully multi-threaded). - Remove stack array (alloca) for pre-calculating edge-directions. Summary of Performance Characteristics: - The largest gains are for single high poly meshes, with isolated normal-calculation benchmarks of meshes over ~1.5 million showing 2x+ speedup, ~25 million polygons are ~2.85x faster. - Single lower poly meshes (250k polys) can be ~2x slower. Since these meshes aren't normally a bottleneck, and this problem isn't noticeable on large scenes, we considered the performance trade-off reasonable. - The performance difference reduces with larger scenes, tests with production files from "Sprite Fight" showing the same or slightly better overall performance. NOTE: tested on a AMD Ryzen TR 3970X 32-Core. For more details & benchmarking scripts, see the patch description. Reviewed By: mont29 Ref D11993
2021-08-12Cleanup: Remove unused includesHans Goudey
I noticed this file was recompiling when adding a node.
2021-08-12Geometry Nodes: tag normals dirty after joinJacques Lucke
Under some circumstances the normals were not tagged dirty even though they are.
2021-08-12Fix T89241: 3D Text "Scale to Fit" wraps onto the second lineCampbell Barton
Disable wrapping when "scale to fit" is used, assert the error is small so an invalid scale-to-fit value wont go by unnoticed.
2021-08-12Fix NLA action cannot be unlinked in certain casesPhilipp Oeser
The poll for unlinking calls `nla_panel_context` without providing an adt pointer, and there is a check for this pointer in `nla_panel_context` leading to never returning true if it is not provided. (this is fine if there are tracks already, poll would succeed in this case, `nla_panel_context` goes a different code path then) Same call to `nla_panel_context` is also done in the beginning of the corresponding unlink exec function (but this time providing the pointer because it is used later), so it makes sense to do the same thing in the poll function. Equal check is also done in the panel poll function, so now these are all in sync. Part of T87681. Maniphest Tasks: T87681 Differential Revision: https://developer.blender.org/D11041
2021-08-12Fix T89805: NLA crash without active trackPhilipp Oeser
Was reported for a file which does not have an active track set in AnimData even though it was in strip twek mode (but this was accessed in is_nlatrack_evaluatable()). Root cause for this is not totally clear, but I assume the situation is described as part T87681 (and is fixed in D11052). This patch here just prevents the crash for files that are already in the borked state. Reviewers: sybren Maniphest Tasks: T89805 Differential Revision: https://developer.blender.org/D12085
2021-08-12Fix T88498: 'Clear Parent' does not clear parent_bonePhilipp Oeser
Clearing the parent from the UI using the X (or from python) clears the `parsubstr` and set `partype` back to `PAROBJECT`. Using the Clear Parent operator would leave the `parsubstr` (and thus `parent_bone`) untouched even though this operator claims to "clear parenting relationship completely" (it also removes parent deform modifiers for example). So now, also clear `parsubstr` and set back to `PAROBJECT` [which is default]. Maniphest Tasks: T88498 Differential Revision: https://developer.blender.org/D11503
2021-08-12Add Extras Dropdown Menu to ConstraintsHenrik Dick
Add Apply Constraint, Duplicate Constraint, and Copy To Selected operators, and include them in a menu similar to the menu for modifiers. The shortcuts in the extras menu are also matched to modifiers. All the here added operators are intended to work exactly like the analogous ones for modifiers. That means the apply operator should apply a constraint as if it was first in the list, just like modifiers do. I have added the same warning message as for modifiers when that happens. The decision to use this approach of appling the constraint as if it was first, was made for consistency with modifiers. People are already used to how it works there. Is also provides more intricate control over the applied transforms, then just applying all constraints up to that one. Apply all constraints is already kinda implemented in Bake Animation. Reviewed By: HooglyBoogly, sybren, #user_interface Differential Revision: https://developer.blender.org/D10914
2021-08-12Fix T88386: Continuous Grab occasionally jumping on Arm64 MacOSGermano Cavalcante
During the processing of a continuous drag event, other mouse move events may be in the queue waiting to be processed. But when a mouse wrapping happens, these waiting mouse move events become out of date as they report a mouse position prior to wrapping. The current code ignores these events by comparing their `timestamp` to the time recorded in the last mouse wrapping. The bug happens because the computed value in `mach_absolute_time() * 1e-9` for some reason is incompatible with the value of `[event timestamp]`. Since macOS 10.6, we have a new way to get the amount of time the system has been awake. `[[NSProcessInfo processInfo] systemUptime]`. Using this updated method fixed the problem. Differential Revision: https://developer.blender.org/D12202
2021-08-12Fix T90630: Crash loading certain user preferencesCampbell Barton
Clearing the window was done in wm_file_read_post which was deferred. This was needed as it left the context in an invalid state where the window was set but the screen wasn't. Crashing when setting up keymaps that attempted to access the scene from the window in the property update function. Regression in 497bc4d19977abc7b9e2c0f5024a23057e680954
2021-08-12Cleanup: remove redundant variableCampbell Barton
2021-08-12RNA: include base types in RNA_struct_type_find_property searchCampbell Barton
Add RNA_struct_type_find_property_no_base for use in the rare situations when this isn't desired. Resolves T90617, where sequence strip sub-types weren't detecting properties that exist in the base "Sequence" types.
2021-08-12datadoc: add newlines to generated source filesCampbell Barton
2021-08-12Cleanup: comments/disabled codeCampbell Barton
- Remove old comment for editors with weak syntax highlighting. - Remove disabled code to initialize Blender with a file path. - Remove file name references to function names since these were outdated, modern development environments can look up this info.
2021-08-12Fix T89046: Startup file with Python drivers crashes on loadCampbell Barton
Resolve order of initialization error reading startup file, support postponing running wm_file_read_post until Blender has been initialized. Deferring updates allows duplicate initialization to be removed from WM_init. Reviewed By: mont29 Ref D12184
2021-08-12Cleanup: use parameters struct for wm_homefile_readCampbell Barton
Also add wm_homefile_read_ex which is only needed for the first execution at startup.
2021-08-12Cleanup: spelling in commentsCampbell Barton
2021-08-12Cleanup: use C++ style comments for disabled codeCampbell Barton