Commit: 71bce6d8e87df59febac3bae37369573b711a3a4 Author: Joseph Eagar Date: Thu Jan 26 20:13:46 2023 -0800 Branches: sculpt-dev https://developer.blender.org/rB71bce6d8e87df59febac3bae37369573b711a3a4
Merge branch 'master' into sculpt-dev =================================================================== =================================================================== diff --cc CMakeLists.txt index abe0b08ccf5,9dfb962a57e..fe4b245b381 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@@ -753,13 -751,6 +758,8 @@@ if("${CMAKE_GENERATOR}" MATCHES "Ninja" mark_as_advanced(WITH_NINJA_POOL_JOBS) endif() - if(UNIX AND NOT APPLE) - option(WITH_CXX11_ABI "Use native C++11 ABI of compiler" ON) - mark_as_advanced(WITH_CXX11_ABI) - endif() - +option(WITH_INSTANT_MESHES, "Instant Meshes Quadrangulator" ON) + # Installation process. set(POSTINSTALL_SCRIPT "" CACHE FILEPATH "Run given CMake script after installation process") mark_as_advanced(POSTINSTALL_SCRIPT) diff --cc intern/guardedalloc/intern/mallocn_lockfree_impl.c index 2338012246b,2c4761c74f0..84f9f8dfa74 --- a/intern/guardedalloc/intern/mallocn_lockfree_impl.c +++ b/intern/guardedalloc/intern/mallocn_lockfree_impl.c @@@ -111,12 -87,9 +109,11 @@@ void MEM_lockfree_freeN(void *vmemh } MemHead *memh = MEMHEAD_FROM_PTR(vmemh); + MEM_UNPOISON_MEMHEAD(vmemh); + size_t len = MEMHEAD_LEN(memh); - atomic_sub_and_fetch_u(&totblock, 1); - atomic_sub_and_fetch_z(&mem_in_use, len); + memory_usage_block_free(len); if (UNLIKELY(malloc_debug_memset && len)) { memset(memh + 1, 255, len); @@@ -271,11 -209,8 +268,9 @@@ void *MEM_lockfree_callocN(size_t len, if (LIKELY(memh)) { memh->len = len; - atomic_add_and_fetch_u(&totblock, 1); - atomic_add_and_fetch_z(&mem_in_use, len); - update_maximum(&peak_mem, mem_in_use); + memory_usage_block_alloc(len); + MEM_POISON_MEMHEAD(PTR_FROM_MEMHEAD(memh)); return PTR_FROM_MEMHEAD(memh); } print_error("Calloc returns null: len=" SIZET_FORMAT " in %s, total %u\n", @@@ -317,12 -252,8 +312,10 @@@ void *MEM_lockfree_mallocN(size_t len, } memh->len = len; - atomic_add_and_fetch_u(&totblock, 1); - atomic_add_and_fetch_z(&mem_in_use, len); - update_maximum(&peak_mem, mem_in_use); + memory_usage_block_alloc(len); + MEM_POISON_MEMHEAD(PTR_FROM_MEMHEAD(memh)); + return PTR_FROM_MEMHEAD(memh); } print_error("Malloc returns null: len=" SIZET_FORMAT " in %s, total %u\n", @@@ -390,12 -321,8 +383,10 @@@ void *MEM_lockfree_mallocN_aligned(size memh->len = len | (size_t)MEMHEAD_ALIGN_FLAG; memh->alignment = (short)alignment; - atomic_add_and_fetch_u(&totblock, 1); - atomic_add_and_fetch_z(&mem_in_use, len); - update_maximum(&peak_mem, mem_in_use); + memory_usage_block_alloc(len); + MEM_POISON_MEMHEAD(PTR_FROM_MEMHEAD(memh)); + return PTR_FROM_MEMHEAD(memh); } print_error("Malloc returns null: len=" SIZET_FORMAT " in %s, total %u\n", diff --cc release/scripts/presets/keyconfig/keymap_data/blender_default.py index 6da898dc306,19a93e0882a..6b24452131d --- a/release/scripts/presets/keyconfig/keymap_data/blender_default.py +++ b/release/scripts/presets/keyconfig/keymap_data/blender_default.py @@@ -5098,14 -5047,22 +5095,25 @@@ def km_sculpt(params) {"properties": [("mode", 'INVERT')]}), ("sculpt.brush_stroke", {"type": 'LEFTMOUSE', "value": 'PRESS', "shift": True}, {"properties": [("mode", 'SMOOTH')]}), + # Face Set by Topology + ("sculpt.face_set_by_topology", {"type": 'W', "value": 'PRESS', "ctrl": True}, + {"properties": [("mode", "POLY_LOOP"), ("repeat_previous", True)]}), # Expand ("sculpt.expand", {"type": 'A', "value": 'PRESS', "shift": True}, - {"properties": [("target", "MASK"), ("falloff_type", "GEODESIC"), ("invert", True)]}), + {"properties": [ + ("target", "MASK"), + ("falloff_type", "GEODESIC"), + ("invert", True), + ("use_auto_mask", False), + ("use_mask_preserve", True), + ]}), ("sculpt.expand", {"type": 'A', "value": 'PRESS', "shift": True, "alt": True}, - {"properties": [("target", "MASK"), ("falloff_type", "NORMALS"), ("invert", False)]}), + {"properties": [ + ("target", "MASK"), + ("falloff_type", "NORMALS"), + ("invert", False), + ("use_mask_preserve", True), + ]}), ("sculpt.expand", {"type": 'W', "value": 'PRESS', "shift": True}, {"properties": [ ("target", "FACE_SETS"), @@@ -5117,15 -5076,9 +5127,16 @@@ ("target", "FACE_SETS"), ("falloff_type", "BOUNDARY_FACE_SET"), ("invert", False), + ("use_mask_preserve", False), ("use_modify_active", True), ]}), + ("sculpt.expand", {"type": 'W', "value": 'PRESS', "shift": True, "ctrl": True}, + {"properties": [ + ("target", "FACE_SETS"), + ("falloff_type", "POLY_LOOP"), + ("invert", False), + ("use_modify_active", False), + ]}), # Partial Visibility Show/hide # Match keys from: `_template_items_hide_reveal_actions`, cannot use because arguments aren't compatible. ("sculpt.face_set_change_visibility", {"type": 'H', "value": 'PRESS'}, diff --cc release/scripts/startup/bl_ui/properties_data_mesh.py index 9452e72b684,61027f68f19..6bc328e4f90 --- a/release/scripts/startup/bl_ui/properties_data_mesh.py +++ b/release/scripts/startup/bl_ui/properties_data_mesh.py @@@ -537,10 -537,16 +538,18 @@@ class MESH_UL_attributes(UIList) flags = [] indices = [i for i in range(len(attributes))] + show_all = _context.tool_settings.save_temp_layers if hasattr(_context, "tool_settings") else False + - for item in attributes: - flags.append(0 if (not show_all and item.is_internal) else self.bitflag_filter_item) + # Filtering by name + if self.filter_name: + flags = bpy.types.UI_UL_list.filter_items_by_name( + self.filter_name, self.bitflag_filter_item, attributes, "name", reverse=self.use_filter_invert) + if not flags: + flags = [self.bitflag_filter_item] * len(attributes) + + # Filtering internal attributes + for idx, item in enumerate(attributes): - flags[idx] = 0 if item.is_internal else flags[idx] ++ flags[idx] = 0 if (not show_all and item.is_internal) else flags[idx] return flags, indices diff --cc release/scripts/startup/bl_ui/space_toolsystem_toolbar.py index a65f05ff1ec,37cb01503d3..8ce90fff60c --- a/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py +++ b/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py @@@ -1409,8 -1408,10 +1409,9 @@@ class _defs_sculpt def draw_settings(_context, layout, tool): props = tool.operator_properties("sculpt.trim_box_gesture") layout.prop(props, "trim_mode", expand=False) + layout.prop(props, "trim_extrude_mode", expand=False) layout.prop(props, "use_cursor_depth", expand=False) - return dict( - idname="builtin.box_trim", + return dict(idname="builtin.box_trim", label="Box Trim", icon="ops.sculpt.box_trim", widget=None, @@@ -1423,9 -1425,10 +1424,10 @@@ props = tool.operator_properties("sculpt.trim_lasso_gesture") layout.prop(props, "trim_mode", expand=False) layout.prop(props, "trim_orientation", expand=False) + layout.prop(props, "trim_location", expand=False) + layout.prop(props, "trim_extrude_mode", expand=False) layout.prop(props, "use_cursor_depth", expand=False) - return dict( - idname="builtin.lasso_trim", + return dict(idname="builtin.lasso_trim", label="Lasso Trim", icon="ops.sculpt.lasso_trim", widget=None, @@@ -2590,24 -2682,33 +2592,23 @@@ class IMAGE_PT_tools_active(ToolSelectP # Private tool lists for convenient reuse in `_tools`. - _tools_transform = ( - _defs_image_uv_transform.translate, + _tools_transform = (_defs_image_uv_transform.translate, _defs_image_uv_transform.rotate, _defs_image_uv_transform.scale, - _defs_image_uv_transform.transform, - ) + _defs_image_uv_transform.transform,) - _tools_select = ( - ( - _defs_image_uv_select.select, + _tools_select = ((_defs_image_uv_select.select, _defs_image_uv_select.box, _defs_image_uv_select.circle, - _defs_image_uv_select.lasso, - ), - ) + _defs_image_uv_select.lasso,),) - _tools_annotate = ( - ( - _defs_annotate.scribble, + _tools_annotate = ((_defs_annotate.scribble, _defs_annotate.line, _defs_annotate.poly, - _defs_annotate.eraser, - ), - ) + _defs_annotate.eraser,),) - # Private tools dictionary, store data to implement `tools_all` & - # `tools_from_context`. - # The keys match image spaces modes: 'context.space_data.mode'. + # Private tools dictionary, store data to implement `tools_all` & `tools_from_context`. + # The keys match image spaces modes: `context.space_data.mode`. # The values represent the tools, see `ToolSelectPanelHelper` for details. _tools = { None: [ @@@ -2752,11 -2890,11 +2753,10 @@@ class VIEW3D_PT_tools_active(ToolSelect *_tools_transform, None, *_tools_annotate, - _defs_view3d_generic.ruler, - ) + _defs_view3d_generic.ruler,) - # Private tools dictionary, store data to implement `tools_all` & - # `tools_from_context`. - # The keys match object-modes from: 'context.mode'. + # Private tools dictionary, store data to implement `tools_all` & `tools_from_context`. + # The keys match object-modes from: `context.mode`. # The values represent the tools, see `ToolSelectPanelHelper` for details. _tools = { None: [ @@@ -3010,21 -3216,29 +3010,19 @@@ class SEQUENCER_PT_tools_active(ToolSel # Private tool lists for convenient reuse in `_tools`. - _tools_sele @@ Diff output truncated at 10240 characters. @@ _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs