[Bf-blender-cvs] [1401125f7b8] temp-T97352-3d-texturing-seam-bleeding-b2: Merge branch 'master' into temp-T97352-3d-texturing-seam-bleeding-b2

Jeroen Bakker noreply at git.blender.org
Tue Jun 28 14:44:20 CEST 2022


Commit: 1401125f7b83f49c889de3f801a54d5e122a211c
Author: Jeroen Bakker
Date:   Tue Jun 28 14:44:15 2022 +0200
Branches: temp-T97352-3d-texturing-seam-bleeding-b2
https://developer.blender.org/rB1401125f7b83f49c889de3f801a54d5e122a211c

Merge branch 'master' into temp-T97352-3d-texturing-seam-bleeding-b2

===================================================================



===================================================================

diff --cc source/blender/blenkernel/intern/pbvh.c
index 619352fbffb,5e5443f48ca..3d38feeb953
--- a/source/blender/blenkernel/intern/pbvh.c
+++ b/source/blender/blenkernel/intern/pbvh.c
@@@ -714,8 -714,10 +714,12 @@@ void BKE_pbvh_free(PBVH *pbvh
  
    MEM_SAFE_FREE(pbvh->vert_bitmap);
  
+   if (pbvh->vbo_id) {
+     GPU_pbvh_free_format(pbvh->vbo_id);
+   }
+ 
 +  pbvh_pixels_free(pbvh);
 +
    MEM_freeN(pbvh);
  }
  
diff --cc source/blender/blenkernel/intern/pbvh_intern.h
index d93fb83792d,a4ac2744a73..eb9898b5f27
--- a/source/blender/blenkernel/intern/pbvh_intern.h
+++ b/source/blender/blenkernel/intern/pbvh_intern.h
@@@ -205,7 -205,7 +205,9 @@@ struct PBVH 
    /* Used by DynTopo to invalidate the draw cache. */
    bool draw_cache_invalid;
  
+   struct PBVHGPUFormat *vbo_id;
++
 +  PBVHPixels pixels;
  };
  
  /* pbvh.c */
diff --cc source/blender/blenloader/intern/versioning_300.c
index 58821987d64,57fd71f8933..a26f8ee3b36
--- a/source/blender/blenloader/intern/versioning_300.c
+++ b/source/blender/blenloader/intern/versioning_300.c
@@@ -3067,11 -3093,113 +3093,120 @@@ void blo_do_versions_300(FileData *fd, 
        }
      }
  
+     /* Use the curves type enum for the set spline type node, instead of a special one. */
+     FOREACH_NODETREE_BEGIN (bmain, ntree, id) {
+       if (ntree->type == NTREE_GEOMETRY) {
+         LISTBASE_FOREACH (bNode *, node, &ntree->nodes) {
+           if (node->type == GEO_NODE_CURVE_SPLINE_TYPE) {
+             NodeGeometryCurveSplineType *storage = (NodeGeometryCurveSplineType *)node->storage;
+             switch (storage->spline_type) {
+               case 0: /* GEO_NODE_SPLINE_TYPE_BEZIER */
+                 storage->spline_type = CURVE_TYPE_BEZIER;
+                 break;
+               case 1: /* GEO_NODE_SPLINE_TYPE_NURBS */
+                 storage->spline_type = CURVE_TYPE_NURBS;
+                 break;
+               case 2: /* GEO_NODE_SPLINE_TYPE_POLY */
+                 storage->spline_type = CURVE_TYPE_POLY;
+                 break;
+             }
+           }
+         }
+       }
+     }
+     FOREACH_NODETREE_END;
+   }
+ 
+   if (!MAIN_VERSION_ATLEAST(bmain, 303, 2)) {
+     LISTBASE_FOREACH (bScreen *, screen, &bmain->screens) {
+       LISTBASE_FOREACH (ScrArea *, area, &screen->areabase) {
+         LISTBASE_FOREACH (SpaceLink *, sl, &area->spacedata) {
+           if (sl->spacetype == SPACE_CLIP) {
+             ((SpaceClip *)sl)->mask_info.blend_factor = 1.0;
+           }
+         }
+       }
+     }
+   }
+ 
+   if (!MAIN_VERSION_ATLEAST(bmain, 303, 3)) {
+     LISTBASE_FOREACH (bScreen *, screen, &bmain->screens) {
+       LISTBASE_FOREACH (ScrArea *, area, &screen->areabase) {
+         LISTBASE_FOREACH (SpaceLink *, sl, &area->spacedata) {
+           if (sl->spacetype == SPACE_CLIP) {
+             ((SpaceClip *)sl)->mask_info.draw_flag |= MASK_DRAWFLAG_SPLINE;
+           }
+           else if (sl->spacetype == SPACE_IMAGE) {
+             ((SpaceImage *)sl)->mask_info.draw_flag |= MASK_DRAWFLAG_SPLINE;
+           }
+         }
+       }
+     }
+   }
+ 
+   if (!MAIN_VERSION_ATLEAST(bmain, 303, 4)) {
+     FOREACH_NODETREE_BEGIN (bmain, ntree, id) {
+       if (ntree->type == NTREE_COMPOSIT) {
+         LISTBASE_FOREACH (bNode *, node, &ntree->nodes) {
+           if (node->type == CMP_NODE_OUTPUT_FILE) {
+             LISTBASE_FOREACH (bNodeSocket *, sock, &node->inputs) {
+               if (sock->storage) {
+                 NodeImageMultiFileSocket *sockdata = (NodeImageMultiFileSocket *)sock->storage;
+                 version_fix_image_format_copy(bmain, &sockdata->format);
+               }
+             }
+ 
+             if (node->storage) {
+               NodeImageMultiFile *nimf = (NodeImageMultiFile *)node->storage;
+               version_fix_image_format_copy(bmain, &nimf->format);
+             }
+           }
+         }
+       }
+     }
+     FOREACH_NODETREE_END;
+ 
+     LISTBASE_FOREACH (Scene *, scene, &bmain->scenes) {
+       version_fix_image_format_copy(bmain, &scene->r.im_format);
+     }
+   }
+ 
+   /**
+    * Versioning code until next subversion bump goes here.
+    *
+    * \note Be sure to check when bumping the version:
+    * - "versioning_userdef.c", #blo_do_versions_userdef
+    * - "versioning_userdef.c", #do_versions_theme
+    *
+    * \note Keep this message at the bottom of the function.
+    */
+   {
+     /* Keep this block, even when empty. */
+ 
+     /* Fix for T98925 - remove channels region, that was initialized in incorrect editor types. */
+     for (bScreen *screen = bmain->screens.first; screen; screen = screen->id.next) {
+       LISTBASE_FOREACH (ScrArea *, area, &screen->areabase) {
+         LISTBASE_FOREACH (SpaceLink *, sl, &area->spacedata) {
+           if (ELEM(sl->spacetype, SPACE_ACTION, SPACE_CLIP, SPACE_GRAPH, SPACE_NLA, SPACE_SEQ)) {
+             continue;
+           }
+ 
+           ListBase *regionbase = (sl == area->spacedata.first) ? &area->regionbase :
+                                                                  &sl->regionbase;
+           ARegion *channels_region = BKE_region_find_in_listbase_by_type(regionbase,
+                                                                          RGN_TYPE_CHANNELS);
+           if (channels_region) {
+             BLI_freelinkN(regionbase, channels_region);
+           }
+         }
+       }
+     }
++
 +    /* UVSeam fixing distance. */
 +    if (!DNA_struct_elem_find(fd->filesdna, "Image", "short", "seamfix_iter")) {
 +      LISTBASE_FOREACH (Image *, image, &bmain->images) {
 +        image->seamfix_iter = 2;
 +      }
 +    }
    }
  }



More information about the Bf-blender-cvs mailing list