June 1, 2021, 10:29 (GMT) |
Cleanup: LibOverride: rename 'local' group tagging functions to 'overrides'. Since we use them on linked data now as well, 'local' does not fit them anymore. |
June 1, 2021, 10:01 (GMT) |
ID Management: Allow unique name check for linked IDs too. This is mandatory for liboverride resync, since this feature may imply we have to create linked overrides in libraries, and there may be several copies of those. This is also a first step to a more general support of IDmanagement-editing library data. Note that this commit should have absolutely no effect on current code, as the only function allowed to check unique names for linked IDs currently is `BKE_libblock_management_main_add`, which is unused. This commit also adds some basic testing for `BKE_id_new_name_validate`. |
June 1, 2021, 10:01 (GMT) |
Fix `BLI_libblock_ensure_unique_name` not ignoring linked IDs. This function would considere that there was a name conflict even in case existing ID would be a linked one. This is only a (symbolic) perforance improvement and logical fix, since `BKE_id_new_name_validate` would not do that mistake anyway. |
June 1, 2021, 10:01 (GMT) |
IDManagement: `BKE_libblock_rename`: assert we get local ID. For now at least, linked data should never be renamed that way. |
June 1, 2021, 10:01 (GMT) |
Fix libOverride resync issues in some corner-cases. This commit fixes two different issues: * In some cases, when an object was added to a sub-collection and used into a different subcollection, and the root common collection would not need to be resynced, it would end up creating multiple overrides of the new object. This was affecting both normal and recursive resync. * In recurisve resync case, the barrier code to define what is part or not of a override group/hierarchy was wrong. Note that the current solution for the first issue is sub-optimal (it goes back to the root of the override hierarchy and resync the whole thing), a better solution is TODO for now. |
June 1, 2021, 10:00 (GMT) |
Cleanup: clang-tidy * `readability-redundant-member-init` * `readability-inconsistent-declaration-parameter-name` * Remove constructor that can be defaulted. |
June 1, 2021, 08:51 (GMT) |
Compositor: Full-frame base system This patch adds the base code needed to make the full-frame system work for both current tiled/per-pixel implementation of operations and full-frame. Two execution models: - Tiled: Current implementation. Renders execution groups in tiles from outputs to input. Not all operations are buffered. Runs the tiled/per-pixel implementation. - FullFrame: All operations are buffered. Fully renders operations from inputs to outputs. Runs full-frame implementation of operations if available otherwise the current tiled/per-pixel. Creates output buffers on first read and free them as soon as all its readers have finished, reducing peak memory usage of complex/long trees. Operations are multi-threaded but do not run in parallel as Tiled (will be done in another patch). This should allow us to convert operations to full-frame in small steps with the system already working and solve the problem of high memory usage. FullFrame breaking changes respect Tiled system, mainly: - Translate, Rotate, Scale, and Transform take effect immediately instead of next buffered operation. - Any sampling is always done over inputs instead of last buffered operation. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D11113 |
June 1, 2021, 08:27 (GMT) |
Cycles X: Localize handling of sample count pass Avoid having an exception in a generic code path. |
June 1, 2021, 08:09 (GMT) |
Cycles X: Generalize storage of offsets in BufferParams This change replaces storage of a hand-picked passes with a more generic storage. Simplifies code in the BufferParams and makes data available in all areas which need to access those offsets. A bit of a duplication with KernelFilm, but not all areas have access to the KernelFilm. Film can not be used either because it is not guaranteed to be in sync with the BufferParams. So in a way now all the knowledge about what is stored and how to be accessed in the Buffer is available via BufferParams. Simplifies arguments passed to the PassAccessor. The Film is still needed to be passed there to know whether shadow from the shadow catcher pass is to be averaged and added to the combined pass or not. Currently no functional changes, just preparation for an upcoming deeper refactor of the PassAccessor. Differential Revision: https://developer.blender.org/D11437 |
June 1, 2021, 07:23 (GMT) |
Cleanup: Split draw_cache_extract_mesh into multiple files. draw_cache_extract_mesh for task scheduling. Will be refactored to draw_cache_extract_mesh_scheduling later on after migrating to CPP. draw_cache_extract_mesh_render_data extraction of mesh render data from edit mesh/mesh into a more generic structure. draw_cache_extract_mesh_extractors containing all the extractors. This will be split up further into a single file per extractor. |
June 1, 2021, 05:30 (GMT) |
Cleanup: split face tessellation into inline functions Prepare for multiple code-paths that recalculate tessellation. |
June 1, 2021, 04:04 (GMT) |
Cleanup: split bmesh tessellation into it's own file Prepare for further refactoring for these functions. |
June 1, 2021, 03:26 (GMT) |
Cleanup: remove disabled face tessellation logic This was kept since these blocks are easier to follow. Remove as the overall result wasn't so readable (especially with nested ifdef's). Replace disabled code with comment on the indices used for quads/tris. |
June 1, 2021, 03:25 (GMT) |
BMesh: remove checks for tessellating 2 sided faces 2 sided faces aren't supported and will cause problems in many areas of Blender's code. Removing (implied) support for faces with fewer than 3 sides means the total number of triangles is known ahead of time. This simplifies adding support for multi-threading and partial updates to an existing tessellation - as the face and loop indices can be used to access the range of triangles associated with a face. Also correct outdated comments. |
June 1, 2021, 02:50 (GMT) |
Cleanup: correct sculpt quat argument size |
June 1, 2021, 02:49 (GMT) |
GPU: add 2D projection function When projecting into screen space Z value isn't always needed. Add 2D projection functions, renaming them to avoid accidents happening again. - Add GPU_matrix_project_2fv - Add ED_view3d_project_v2 - Rename ED_view3d_project to ED_view3d_project_v3 - Use the 2D versions of these functions when the Z value isn't used. |
June 1, 2021, 02:49 (GMT) |
June 1, 2021, 02:49 (GMT) |
Cleanup: spelling in comments |
May 31, 2021, 23:45 (GMT) |
Cleanup: spelling in comments |
May 31, 2021, 23:19 (GMT) |
Docs: Limit the OCIO env vars that we document Brecht mentioned that these are a bit obscure and don't make much sense to override these. |
|
|
|


Master Commits
MiikaHweb | 2003-2021