[Bf-blender-cvs] [71bce6d8e87] sculpt-dev: Merge branch 'master' into sculpt-dev

Joseph Eagar noreply at git.blender.org
Fri Jan 27 05:13:58 CET 2023


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. @@



More information about the Bf-blender-cvs mailing list