diff options
Diffstat (limited to 'source/blender/gpu')
-rw-r--r-- | source/blender/gpu/GPU_draw.h | 1 | ||||
-rw-r--r-- | source/blender/gpu/intern/gpu_draw.c | 11 |
2 files changed, 12 insertions, 0 deletions
diff --git a/source/blender/gpu/GPU_draw.h b/source/blender/gpu/GPU_draw.h index e233a3f3d94..92bf43e9a5a 100644 --- a/source/blender/gpu/GPU_draw.h +++ b/source/blender/gpu/GPU_draw.h @@ -117,6 +117,7 @@ int GPU_update_image_time(struct Image *ima, double time); int GPU_verify_image(struct Image *ima, struct ImageUser *iuser, int tftile, int tfmode, int compare, int mipmap); void GPU_free_image(struct Image *ima); void GPU_free_images(void); +void GPU_free_images_anim(void); /* smoke drawing functions */ void GPU_free_smoke(struct SmokeModifierData *smd); diff --git a/source/blender/gpu/intern/gpu_draw.c b/source/blender/gpu/intern/gpu_draw.c index 6eb3e13c4e2..9a5a6704428 100644 --- a/source/blender/gpu/intern/gpu_draw.c +++ b/source/blender/gpu/intern/gpu_draw.c @@ -851,6 +851,17 @@ void GPU_free_images(void) GPU_free_image(ima); } +/* same as above but only free animated images */ +void GPU_free_images_anim(void) +{ + Image* ima; + + if(G.main) + for(ima=G.main->image.first; ima; ima=ima->id.next) + if(ELEM(ima->type, IMA_SRC_SEQUENCE, IMA_SRC_MOVIE)) + GPU_free_image(ima); +} + /* OpenGL Materials */ #define FIXEDMAT 8 |