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-09-13Fix T101004: Crash when invisible object becomes visibleSergey Sharybin
A regression since ac20970bc208 The issue was caused by depsgraph clearing all id->recalc flags wrongly assuming that all IDs are fully evaluated. This change makes it so the depsgraph becomes aware of possibly incompletely evaluated IDs. Differential Revision: https://developer.blender.org/D15946
2022-09-13Cycles: Make OSL implementation independent from SVMPatrick Mours
Cleans up the file structure to be more similar to that of the SVM and also makes it possible to build kernels with OSL support, but without having to include SVM support. This patch was split from D15902. Differential Revision: https://developer.blender.org/D15949
2022-09-13Fix oneAPI compilation on modern Linux and CentOS 7 librariesSergey Sharybin
2022-09-13Cycles: Include reason the oneAPI library could not be loadedSergey Sharybin
Additionally, just stick to a pure error stating. Such messages are aimed for developers and it is rather implied that oneAPI rendering will be disabled.
2022-09-13Fix compilation on Linux, glibc 2.34, and CentOS librariesSergey Sharybin
A continuation of previous fix for malloc hooks which got removed from the new glibc library. The pre-compiled jemalloc has definitions which interpose hooks in glibc leading to linking errors with multiple hook definitions. A simple fix is to skip doing the workaround when using jemalloc from pre-compiled libraries. This will likely be revisited in the future, but for now it is important to fix compilation errors for developers.
2022-09-13CMake: exclude BLI_args when building as a Python moduleCampbell Barton
2022-09-13Cleanup: typo in variable nameCampbell Barton
2022-09-13Cleanup: spelling in commentsCampbell Barton
2022-09-13Geometry Nodes: new evaluation systemJacques Lucke
This refactors the geometry nodes evaluation system. No changes for the user are expected. At a high level the goals are: * Support using geometry nodes outside of the geometry nodes modifier. * Support using the evaluator infrastructure for other purposes like field evaluation. * Support more nodes, especially when many of them are disabled behind switch nodes. * Support doing preprocessing on node groups. For more details see T98492. There are fairly detailed comments in the code, but here is a high level overview for how it works now: * There is a new "lazy-function" system. It is similar in spirit to the multi-function system but with different goals. Instead of optimizing throughput for highly parallelizable work, this system is designed to compute only the data that is actually necessary. What data is necessary can be determined dynamically during evaluation. Many lazy-functions can be composed in a graph to form a new lazy-function, which can again be used in a graph etc. * Each geometry node group is converted into a lazy-function graph prior to evaluation. To evaluate geometry nodes, one then just has to evaluate that graph. Node groups are no longer inlined into their parents. Next steps for the evaluation system is to reduce the use of threads in some situations to avoid overhead. Many small node groups don't benefit from multi-threading at all. This is much easier to do now because not everything has to be inlined in one huge node tree anymore. Differential Revision: https://developer.blender.org/D15914
2022-09-13Cleanup: use u-prefixed integer types (for brevity)Campbell Barton
2022-09-13Docs: improve explanation for why CLG_exit shouldn't be called earlyCampbell Barton
2022-09-13Cleanup: improve titles for CMake sections, line lengthCampbell Barton
Also use same convention for comments as (space after #).
2022-09-13CMake: omit WITH_INSTALL_PORTABLE from bpy_module.cmakeCampbell Barton
Since this was added, Linux libraries have been included in `../lib/`. This made `make bpy` on Linux install the `bpy` module into the bundled SVN libraries which isn't very useful. Now leave WITH_INSTALL_PORTABLE unset (defaulting to ON). Python developers may reference their systems Python and disable the option if they wish for a system-wide module installation.
2022-09-13CMake: omit WITH_INSTALL_PORTABLE from the 'lite' configurationCampbell Barton
As portable is already the default, setting it meant using the lite configuration would always reset the value if was intentionally changed. This was also inconsistent as other configurations left this unset.
2022-09-13Python: update defaults for "make bpy"Campbell Barton
This was a kind of "lite" target, disabling options such as FFMPEG and ALEMBIC which may be useful to read/write data from the Python module. Now fewer options have been changed. The following options are now disabled: - Audio support (to prevent audio devices being initialized on startup). - Input device support such as NDOF and IME as there is no GUI. - Blender thumbnail extraction as it's not installed as part of the Python module. Instead of attempting to predict what is useful to enable when building as a Python module, developers can mix combine options e.g. "make bpy release" or "make bpy lite".
2022-09-13Makefile: support 'make bpy lite' / 'make bpy release'Campbell Barton
Re-order configuration loading so 'bpy' is loaded after others. Needed as `bpy` disables options other configurations enable.
2022-09-13Docs: improve BKE_object_defgroup_flip_map doc-stringCampbell Barton
2022-09-13Cleanup: spelling in commentsCampbell Barton
2022-09-13Cleanup: remove unused functionCampbell Barton
2022-09-13Nodes: Avoid unnecessary sorting when selecting or moving nodesHans Goudey
Previously the nodes were sorted wven when there was no change. This is a fixed version of e3ef6a6660032ca18, which was reverted by dc937c5aee4532.
2022-09-13Cleanup: Use attribute API for curves functionsHans Goudey
2022-09-13NLA: actionclip_add now fails on invoke if no NLA track is selectedColin Basnett
This makes the NLA_OT_actionclip_add operation (Shift+A while mousing over the NLA strips area) fail on invocation if no tracks are active. This stops the annoyance of using the Shift+A menu to select an action to add, but only getting the error after you select an action. Differential Revision: https://developer.blender.org/D15737
2022-09-13Fix building WITH_GHOST_WAYLAND, WITH_OPENXR (without X11)Campbell Barton
The pre-processor blocks contained un-balanced braces, causing a syntax error when building with WAYLAND but not X11. Use the same number of opening & closing braces in each pre-processor block so changes aren't as likely to break other platforms. Also assert when unexpected states are reached.
2022-09-13Cleanup: quiet missing-variable-declarations warningCampbell Barton
2022-09-13Cleanup: missing declaration warningCampbell Barton
2022-09-13IMBUF: Fix WebP Build Error and WarningsHarley Acheson
Fix error and warnings introduced in commit 8851790dd733. Include unistd.h for close() on Non-Windows OSs. Calm warnings about unused argument. Return full size of image file to caller. Own Code.
2022-09-13Update RNA to User manual mappingsAaron Carlisle
2022-09-13IMBUF: Improved Thumbnailing of WebP ImagesHarley Acheson
Thumbnail WebP images quicker while using much less RAM. See D15908 for more details. Differential Revision: https://developer.blender.org/D15908 Reviewed by Brecht Van Lommel
2022-09-13Fix T101013: Reordering materials broken with only one assignedHans Goudey
When there was only a single material assigned to the mesh, the material index attribute didn't necessarily exist. Changing the oder of the slots wouldn't change the first material index as necessary.
2022-09-13Fix: Node edge pan and remove on cancel doesn't workHans Goudey
Caused by 4a71765f9a41 which used an operator that didn't have the properties it expected.
2022-09-13Fix: Multires crash after recent face set refactorHans Goudey
Missing null check when retrieving face sets for multires automasking. Caused by b5f7af31d6d474c3b455b.
2022-09-12USD IO: fixed compiler warningsMichael Kowalski
2022-09-12Fix T100886: error saving side-by-side stereo EXR image of depth passBrecht Van Lommel
The stereo saving code that combines two image buffers into one did not work correctly when the number of channels is not equal to 4.
2022-09-12Sculpt: Fix T100941: Draw cache invalidation loopJoseph Eagar
PBVH draw was invalidating the draw cache even when disabled (e.g. if modifiers exist).
2022-09-12Cleanup: obj: rename MTLMaterial & MTLTexMapType membersAras Pranckevicius
The members were named after .mtl file syntax ("d") instead of their meaning ("alpha"). In preparation for extending OBJ code for more PBR parameters support, rename them for clarity. No functionality changes, just a pure rename.
2022-09-12Cleanup: Comment formattingHans Goudey
Also include a small cleanup to the previous commit missed from review.
2022-09-12Sculpt: Fix T100608: SCULPT_UNDO_FACE_SETS broken for redoJoseph Eagar
Always swap values when restoring sculpt undo data.
2022-09-12When these features aren't used, there is no sense in storing theHans Goudey
corresponding data layers and using their values for computations. Avoiding that should increase performance in many operations that would otherwise have to read, write, or propagate these values. It also means decreased memory usage-- not just for sculpt mode but for any mesh that was in sculpt mode. Previously the mask, face set, and hide status layers were *always* allocated by sculpt mode. Here are a few basic tests when masking and face sets are not used: | Test | Before | After | | Subsurf Modifier | 148 ms | 126 ms | | Sculpt Overlay Extraction | 24 ms every redraw | 0 ms | | Memory usage | 252 MB | 236 MB | I wouldn't expect any difference when they are used though. The code changes are mostly just making sculpt features safe for when the layers aren't stored, and some changes to the conversion to and from the hide layers. Use of the ".hide_poly" attribute replaces testing whether face sets are negative in many places. Differential Revision: https://developer.blender.org/D15937
2022-09-12Sculpt: Fix T101008: Missing CD_MDISPS layerJoseph Eagar
sculpt_update_object now auto-creates a CD_MDISPS layer if missing. Note that it is possible for the depsgraph to provide a multires ccg context without a CD_MDISPS. This causes a PBVH_GRIDS pbvh to be built instead of falling back to PBVH_FACES, which is why this bug happens (of course falling back to PBVH_FACES would still be a bug).
2022-09-12Fix T100956: Cycles GPU context assert after recent changesBrecht Van Lommel
We don't need to be on the main thread to destroy the context.
2022-09-12Fix T100016: Memory leak in USD importer.Michael Kowalski
These changes were implemented by Sonny Campbell. Fixed the first issue by freeing the operator customdata when the import is cancelled. Fixed the second issue by using a character array instead of allocating new memory for the prim_path_mask. Differential Revision: https://developer.blender.org/D15781
2022-09-12Geometry: Avoid unnecessary initialization when resizing data arraysHans Goudey
When resizing mesh and curves attribute storage, avoid initializing the new memory for basic types. Also, avoid skipping "no free" layers; all layers should be reallocated to the new size since they may be accessed. The semantics introduced in 25237d2625078c6d1 are essential for this change, because otherwise we don't have a way to construct non-trivial types in the new memory. In a basic test of the extrude node, I observed a performance improvement of about 30%, from 55ms to 42ms. Differential Revision: https://developer.blender.org/D15818
2022-09-12BLI: Add utility functions to generic spansHans Goudey
Generally we don't want to do per-element operations on these spans because of the overhead of the runtime type system, but these operations on the whole span avoid ugly pointer arithmetic in other areas.
2022-09-12Attributes: Add function to retrieve span without adding attributeHans Goudey
Previously, the only versions of attribute access that gave a span would also add the attribute when it doesn't exist, which isn't always wanted.
2022-09-12Merge remote-tracking branch 'origin/blender-v3.3-release'Sybren A. Stüvel
2022-09-12Fix T100918: change min value for NLAStrip startThibault de Villèle
The bug was contained in BKE/intern/nla.c, where the wrong macro was used as the minimum frame value. Instead of `MINAFRAMEF`, `MINFRAMEF` was used (the former is around -10k, the latter is 0, both fp32). Differential Revision: https://developer.blender.org/D15940
2022-09-12Fix macOS incomplete Python install after recent changesBrecht Van Lommel
After 2c23b4e0bff0 the meaning of PYTHON_LIBPATH changed.
2022-09-12GLibC Compat: Add deprecated memory hooks symbols removed from 2.34.Bastien Montagne
Starting from GLibC 2.34, deprecated `__malloc_hook` & co. have been removed from headers, while still present in the shared library itself. This means that it is no more possible to build Blender with USD 22.03 on recent linux systems. While USD 22.08 has a fix to this issue, it is unlikely to be upgraded for Blender 3.4, and definitely not for Blender 3.3. This commit ensures Blender can build with USD 22.03 and glibc >= 2.34. Ref.: T99618, https://devtalk.blender.org/t/building-blender-on-linux-using-glibc-2-34-raises-linking-errors-from-the-usd-library/24185 Patch by @brecht, many thanks.
2022-09-12UI: Cleanup/Fixes of some UI messages.Bastien Montagne
2022-09-12Fix T100999: GPencil Copy paste stroke(s) does not respect autokeyingAntonio Vazquez
The operator was not checking the status of the Autokey button.