Remove mask cache hack added for mango project a while ago
authorSergey Sharybin <sergey.vfx@gmail.com>
Wed, 1 Aug 2012 14:19:42 +0000 (14:19 +0000)
committerSergey Sharybin <sergey.vfx@gmail.com>
Wed, 1 Aug 2012 14:19:42 +0000 (14:19 +0000)
We've got new rasterizer which doesn't require cacheing anymore.

source/blender/blenkernel/intern/mask.c
source/blender/blenloader/intern/readblenentry.c
source/blender/blenloader/intern/readfile.c
source/blender/blenloader/intern/readfile.h
source/blender/makesdna/DNA_mask_types.h

index ddba9a7a65b831d7646506fae278cc0af14042ac..81800016cbd77f9065d21541f5cc9f1922e6e8b7 100644 (file)
 #include "BKE_movieclip.h"
 #include "BKE_utildefines.h"
 
-#ifdef USE_MANGO_MASK_CACHE_HACK
-
-#include "BLI_threads.h"
-
-typedef struct MaskRasterCache {
-       float *buffer;
-       int width, height;
-       short do_aspect_correct;
-       short do_mask_aa;
-       short do_feather;
-
-       ListBase layers;
-} MaskRasterCache;
-#endif
-
 static MaskSplinePoint *mask_spline_point_next(MaskSpline *spline, MaskSplinePoint *points_array, MaskSplinePoint *point)
 {
        if (point == &points_array[spline->tot_point - 1]) {
@@ -1560,41 +1545,9 @@ void BKE_mask_layer_free_list(ListBase *masklayers)
 
 }
 
-#ifdef USE_MANGO_MASK_CACHE_HACK
-void BKE_mask_raster_cache_free(Mask *mask)
-{
-       MaskRasterCache *cache = mask->raster_cache;
-
-       if (cache) {
-               MaskLayer *layer;
-
-               layer = cache->layers.first;
-               while (layer) {
-                       MaskLayer *layer_next = layer->next;
-
-                       BKE_mask_layer_free(layer);
-                       layer = layer_next;
-               }
-
-               MEM_freeN(cache->buffer);
-               MEM_freeN(cache);
-
-               mask->raster_cache = NULL;
-       }
-}
-#endif
-
 void BKE_mask_free(Mask *mask)
 {
        BKE_mask_layer_free_list(&mask->masklayers);
-
-#ifdef USE_MANGO_MASK_CACHE_HACK
-       if (mask->raster_cache) {
-               BKE_mask_raster_cache_free(mask);
-
-               mask->raster_cache = NULL;
-       }
-#endif
 }
 
 void BKE_mask_unlink(Main *bmain, Mask *mask)
index 04994b5b0de8f2198a3c74b459e58f9a087e72b6..eb12a7bd837d2eff0c4fda2ab3a891434fdbae7c 100644 (file)
@@ -310,9 +310,6 @@ BlendFileData *BLO_read_from_memfile(Main *oldmain, const char *filename, MemFil
                /* makes lookup of existing video clips in old main */
                blo_make_movieclip_pointer_map(fd, oldmain);
                
-               /* makes lookup of existing masks in old main */
-               blo_make_mask_pointer_map(fd, oldmain);
-               
                bfd = blo_read_file_internal(fd, filename);
                
                /* ensures relinked images are not freed */
@@ -321,9 +318,6 @@ BlendFileData *BLO_read_from_memfile(Main *oldmain, const char *filename, MemFil
                /* ensures relinked movie clips are not freed */
                blo_end_movieclip_pointer_map(fd, oldmain);
                
-               /* ensures relinked masks are not freed */
-               blo_end_mask_pointer_map(fd, oldmain);
-               
                /* move libraries from old main to new main */
                if (bfd && mainlist.first != mainlist.last) {
                        
index dd9fcbb9f1a2fbd04efe45af63b59c222dee5971..a9f3f4c36b9596eddfb32fc060fbe5a068a17d16 100644 (file)
@@ -1090,10 +1090,6 @@ void blo_freefiledata(FileData *fd)
                        oldnewmap_free(fd->imamap);
                if (fd->movieclipmap)
                        oldnewmap_free(fd->movieclipmap);
-#ifdef USE_MANGO_MASK_CACHE_HACK
-               if (fd->maskmap)
-                       oldnewmap_free(fd->maskmap);
-#endif
                if (fd->libmap && !(fd->flags & FD_FLAGS_NOT_MY_LIBMAP))
                        oldnewmap_free(fd->libmap);
                if (fd->bheadmap)
@@ -1178,16 +1174,6 @@ static void *newmclipadr(FileData *fd, void *adr)              /* used to restor
        return NULL;
 }
 
-#ifdef USE_MANGO_MASK_CACHE_HACK
-static void *newmaskadr(FileData *fd, void *adr)              /* used to restore mask data after undo */
-{
-       if (fd->maskmap && adr)
-               return oldnewmap_lookup_and_inc(fd->maskmap, adr);
-       return NULL;
-}
-#endif
-
-
 static void *newlibadr(FileData *fd, void *lib, void *adr)             /* only lib data */
 {
        return oldnewmap_liblookup(fd->libmap, adr, lib);
@@ -1382,39 +1368,6 @@ void blo_end_movieclip_pointer_map(FileData *fd, Main *oldmain)
        }
 }
 
-#ifdef USE_MANGO_MASK_CACHE_HACK
-void blo_make_mask_pointer_map(FileData *fd, Main *oldmain)
-{
-       Mask *mask;
-
-       fd->maskmap = oldnewmap_new();
-
-       for (mask = oldmain->mask.first; mask; mask = mask->id.next) {
-               if (mask->raster_cache)
-                       oldnewmap_insert(fd->maskmap, mask->raster_cache, mask->raster_cache, 0);
-       }
-}
-
-/* set old main mask caches to zero if it has been restored */
-/* this works because freeing old main only happens after this call */
-void blo_end_mask_pointer_map(FileData *fd, Main *oldmain)
-{
-       OldNew *entry = fd->maskmap->entries;
-       Mask *mask;
-       int i;
-
-       /* used entries were restored, so we put them to zero */
-       for (i = 0; i < fd->maskmap->nentries; i++, entry++) {
-               if (entry->nr > 0)
-                       entry->newp = NULL;
-       }
-
-       for (mask = oldmain->mask.first; mask; mask = mask->id.next) {
-               mask->raster_cache = newmclipadr(fd, mask->raster_cache);
-       }
-}
-#endif
-
 /* undo file support: add all library pointers in lookup */
 void blo_add_library_pointer_map(ListBase *mainlist, FileData *fd)
 {
@@ -6314,11 +6267,6 @@ static void direct_link_mask(FileData *fd, Mask *mask)
 {
        MaskLayer *masklay;
 
-#ifdef USE_MANGO_MASK_CACHE_HACK
-       if (fd->maskmap) mask->raster_cache = newmaskadr(fd, mask->raster_cache);
-       else mask->raster_cache = NULL;
-#endif
-
        mask->adt = newdataadr(fd, mask->adt);
 
        link_list(fd, &mask->masklayers);
index 32792dd7b9dd44d273d8558751271996e8e07254..a3aa8e783a0955c5d5adea57acc9a494c7f2214f 100644 (file)
@@ -83,7 +83,6 @@ typedef struct FileData {
        struct OldNewMap *libmap;
        struct OldNewMap *imamap;
        struct OldNewMap *movieclipmap;
-       struct OldNewMap *maskmap;
        
        struct bheadsort *bheadmap;
        int tot_bheadmap;
@@ -128,8 +127,6 @@ void blo_make_image_pointer_map(FileData *fd, Main *oldmain);
 void blo_end_image_pointer_map(FileData *fd, Main *oldmain);
 void blo_make_movieclip_pointer_map(FileData *fd, Main *oldmain);
 void blo_end_movieclip_pointer_map(FileData *fd, Main *oldmain);
-void blo_make_mask_pointer_map(FileData *fd, Main *oldmain);
-void blo_end_mask_pointer_map(FileData *fd, Main *oldmain);
 void blo_add_library_pointer_map(ListBase *mainlist, FileData *fd);
 
 void blo_freefiledata(FileData *fd);
index a789f570c363e3b32ed0b1e4cc6028fe49e99af5..63015bd56af86ab67b51e3a1be1159b8c33fc7a6 100644 (file)
@@ -40,8 +40,6 @@
 #include "DNA_listBase.h"
 #include "DNA_curve_types.h"
 
-#define USE_MANGO_MASK_CACHE_HACK
-
 typedef struct Mask {
        ID id;
        struct AnimData *adt;