Remove mask cache hack added for mango project a while ago

We've got new rasterizer which doesn't require cacheing anymore.
This commit is contained in:
Sergey Sharybin
2012-08-01 14:19:42 +00:00
parent 3f5e3ae0bf
commit de4e940885
5 changed files with 0 additions and 110 deletions

View File

@@ -56,21 +56,6 @@
#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)

View 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) {

View 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);

View 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);

View 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;