[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [41267] branches/cycles: Cycles: svn merge -r41232:41266 ^/trunk/blender

Brecht Van Lommel brechtvanlommel at pandora.be
Tue Oct 25 00:51:44 CEST 2011


Revision: 41267
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=41267
Author:   blendix
Date:     2011-10-24 22:51:44 +0000 (Mon, 24 Oct 2011)
Log Message:
-----------
Cycles: svn merge -r41232:41266 ^/trunk/blender

Revision Links:
--------------
    http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=41232

Modified Paths:
--------------
    branches/cycles/build_files/cmake/project_info.py
    branches/cycles/intern/ghost/intern/GHOST_SystemCocoa.mm
    branches/cycles/intern/memutil/MEM_CacheLimiter.h
    branches/cycles/intern/memutil/MEM_CacheLimiterC-Api.h
    branches/cycles/intern/memutil/intern/MEM_CacheLimiterC-Api.cpp
    branches/cycles/source/blender/blenkernel/BKE_fcurve.h
    branches/cycles/source/blender/blenkernel/BKE_library.h
    branches/cycles/source/blender/blenkernel/BKE_sequencer.h
    branches/cycles/source/blender/blenkernel/intern/action.c
    branches/cycles/source/blender/blenkernel/intern/blender.c
    branches/cycles/source/blender/blenkernel/intern/fcurve.c
    branches/cycles/source/blender/blenkernel/intern/library.c
    branches/cycles/source/blender/blenkernel/intern/seqcache.c
    branches/cycles/source/blender/blenkernel/intern/sequencer.c
    branches/cycles/source/blender/blenkernel/intern/writeffmpeg.c
    branches/cycles/source/blender/blenlib/BLI_math_vector.h
    branches/cycles/source/blender/blenlib/intern/math_vector_inline.c
    branches/cycles/source/blender/editors/interface/interface_handlers.c
    branches/cycles/source/blender/editors/space_action/action_edit.c
    branches/cycles/source/blender/editors/space_outliner/outliner_draw.c
    branches/cycles/source/blender/editors/space_view3d/view3d_ops.c
    branches/cycles/source/blender/imbuf/CMakeLists.txt
    branches/cycles/source/blender/imbuf/IMB_imbuf.h
    branches/cycles/source/blender/imbuf/intern/allocimbuf.c
    branches/cycles/source/blender/imbuf/intern/indexer.c
    branches/cycles/source/blender/imbuf/intern/module.c
    branches/cycles/source/blender/makesdna/DNA_ID.h
    branches/cycles/source/blender/makesrna/intern/rna_ID.c
    branches/cycles/source/blender/makesrna/intern/rna_fcurve.c
    branches/cycles/source/blender/render/intern/source/convertblender.c
    branches/cycles/source/gameengine/Converter/BL_ActionActuator.cpp
    branches/cycles/source/gameengine/Ketsji/BL_Action.cpp

Added Paths:
-----------
    branches/cycles/source/blender/imbuf/IMB_moviecache.h
    branches/cycles/source/blender/imbuf/intern/moviecache.c

Property Changed:
----------------
    branches/cycles/
    branches/cycles/intern/
    branches/cycles/release/
    branches/cycles/source/blender/editors/datafiles/startup.blend.c
    branches/cycles/source/blender/editors/render/render_update.c
    branches/cycles/source/blender/editors/space_outliner/
    branches/cycles/source/blender/editors/uvedit/uvedit_buttons.c
    branches/cycles/source/blender/python/intern/


Property changes on: branches/cycles
___________________________________________________________________
Modified: svn:mergeinfo
   - /trunk:37695-37700
/trunk/blender:36353-40411,40935-41232
   + /trunk:37695-37700
/trunk/blender:36353-40411,40935-41266

Modified: branches/cycles/build_files/cmake/project_info.py
===================================================================
--- branches/cycles/build_files/cmake/project_info.py	2011-10-24 22:32:00 UTC (rev 41266)
+++ branches/cycles/build_files/cmake/project_info.py	2011-10-24 22:51:44 UTC (rev 41267)
@@ -104,7 +104,7 @@
 
 def is_c(filename):
     ext = splitext(filename)[1]
-    return (ext in (".c", ".cpp", ".cxx", ".m", ".mm", ".rc"))
+    return (ext in (".c", ".cpp", ".cxx", ".m", ".mm", ".rc", ".cc"))
 
 
 def is_c_any(filename):


Property changes on: branches/cycles/intern
___________________________________________________________________
Modified: svn:mergeinfo
   - /trunk/blender/intern:36353-41232
/trunk/intern:37695-37700
   + /trunk/blender/intern:36353-41266
/trunk/intern:37695-37700

Modified: branches/cycles/intern/ghost/intern/GHOST_SystemCocoa.mm
===================================================================
--- branches/cycles/intern/ghost/intern/GHOST_SystemCocoa.mm	2011-10-24 22:32:00 UTC (rev 41266)
+++ branches/cycles/intern/ghost/intern/GHOST_SystemCocoa.mm	2011-10-24 22:51:44 UTC (rev 41267)
@@ -1685,6 +1685,10 @@
 				}
 			}
 
+			/* arrow keys should not have utf8 */
+			if ((keyCode > 266) && (keyCode < 271))
+				utf8_buf[0] = '\0';
+
 			if ((keyCode == GHOST_kKeyQ) && (m_modifierMask & NSCommandKeyMask))
 				break; //Cmd-Q is directly handled by Cocoa
 

Modified: branches/cycles/intern/memutil/MEM_CacheLimiter.h
===================================================================
--- branches/cycles/intern/memutil/MEM_CacheLimiter.h	2011-10-24 22:32:00 UTC (rev 41266)
+++ branches/cycles/intern/memutil/MEM_CacheLimiter.h	2011-10-24 22:51:44 UTC (rev 41267)
@@ -125,6 +125,10 @@
 public:
 	typedef typename std::list<MEM_CacheLimiterHandle<T> *,
 	  MEM_Allocator<MEM_CacheLimiterHandle<T> *> >::iterator iterator;
+	typedef intptr_t (*MEM_CacheLimiter_DataSize_Func) (void *data);
+	MEM_CacheLimiter(MEM_CacheLimiter_DataSize_Func getDataSize_)
+		: getDataSize(getDataSize_) {
+	}
 	~MEM_CacheLimiter() {
 		for (iterator it = queue.begin(); it != queue.end(); it++) {
 			delete *it;
@@ -143,17 +147,36 @@
 	}
 	void enforce_limits() {
 		intptr_t max = MEM_CacheLimiter_get_maximum();
-		intptr_t mem_in_use= MEM_get_memory_in_use();
-		intptr_t mmap_in_use= MEM_get_mapped_memory_in_use();
+		intptr_t mem_in_use, cur_size;
 
 		if (max == 0) {
 			return;
 		}
+
+		if(getDataSize) {
+			mem_in_use = total_size();
+		} else {
+			mem_in_use = MEM_get_memory_in_use();
+		}
+
 		for (iterator it = queue.begin(); 
-		     it != queue.end() && mem_in_use + mmap_in_use > max;) {
+		     it != queue.end() && mem_in_use > max;) {
 			iterator jt = it;
 			++it;
+
+			if(getDataSize) {
+				cur_size= getDataSize((*jt)->get()->get_data());
+			} else {
+				cur_size= mem_in_use;
+			}
+
 			(*jt)->destroy_if_possible();
+
+			if(getDataSize) {
+				mem_in_use-= cur_size;
+			} else {
+				mem_in_use-= cur_size - MEM_get_memory_in_use();
+			}
 		}
 	}
 	void touch(MEM_CacheLimiterHandle<T> * handle) {
@@ -164,8 +187,17 @@
 		handle->me = it;
 	}
 private:
+	intptr_t total_size() {
+		intptr_t size = 0;
+		for (iterator it = queue.begin(); it != queue.end(); it++) {
+			size+= getDataSize((*it)->get()->get_data());
+		}
+		return size;
+	}
+
 	std::list<MEM_CacheLimiterHandle<T>*,
 	  MEM_Allocator<MEM_CacheLimiterHandle<T> *> > queue;
+	MEM_CacheLimiter_DataSize_Func getDataSize;
 };
 
 #endif // MEM_CACHELIMITER_H

Modified: branches/cycles/intern/memutil/MEM_CacheLimiterC-Api.h
===================================================================
--- branches/cycles/intern/memutil/MEM_CacheLimiterC-Api.h	2011-10-24 22:32:00 UTC (rev 41266)
+++ branches/cycles/intern/memutil/MEM_CacheLimiterC-Api.h	2011-10-24 22:51:44 UTC (rev 41267)
@@ -41,6 +41,9 @@
 /* function used to remove data from memory */
 typedef void(*MEM_CacheLimiter_Destruct_Func)(void*);
 
+/* function used to measure stored data element size */
+typedef intptr_t(*MEM_CacheLimiter_DataSize_Func) (void*);
+
 #ifndef MEM_CACHELIMITER_H
 extern void MEM_CacheLimiter_set_maximum(int m);
 extern int MEM_CacheLimiter_get_maximum(void);
@@ -54,7 +57,8 @@
  */
 
 extern MEM_CacheLimiterC * new_MEM_CacheLimiter(
-	MEM_CacheLimiter_Destruct_Func data_destructor);
+	MEM_CacheLimiter_Destruct_Func data_destructor,
+	MEM_CacheLimiter_DataSize_Func data_size);
 
 /** 
  * Delete MEM_CacheLimiter

Modified: branches/cycles/intern/memutil/intern/MEM_CacheLimiterC-Api.cpp
===================================================================
--- branches/cycles/intern/memutil/intern/MEM_CacheLimiterC-Api.cpp	2011-10-24 22:32:00 UTC (rev 41266)
+++ branches/cycles/intern/memutil/intern/MEM_CacheLimiterC-Api.cpp	2011-10-24 22:51:44 UTC (rev 41267)
@@ -54,8 +54,8 @@
 
 class MEM_CacheLimiterCClass {
 public:
-	MEM_CacheLimiterCClass(MEM_CacheLimiter_Destruct_Func data_destructor_)
-		: data_destructor(data_destructor_) { 
+	MEM_CacheLimiterCClass(MEM_CacheLimiter_Destruct_Func data_destructor_, MEM_CacheLimiter_DataSize_Func data_size)
+		: data_destructor(data_destructor_), cache(data_size) {
 	}
         ~MEM_CacheLimiterCClass();
 	
@@ -142,10 +142,12 @@
 }
 
 MEM_CacheLimiterC * new_MEM_CacheLimiter(
-	MEM_CacheLimiter_Destruct_Func data_destructor)
+	MEM_CacheLimiter_Destruct_Func data_destructor,
+	MEM_CacheLimiter_DataSize_Func data_size)
 {
 	return (MEM_CacheLimiterC*) new MEM_CacheLimiterCClass(
-		data_destructor);
+		data_destructor,
+		data_size);
 }
 
 void delete_MEM_CacheLimiter(MEM_CacheLimiterC * This)


Property changes on: branches/cycles/release
___________________________________________________________________
Modified: svn:mergeinfo
   - /trunk/blender/release:36353-41232
/trunk/release:37695-37700
   + /trunk/blender/release:36353-41266
/trunk/release:37695-37700

Modified: branches/cycles/source/blender/blenkernel/BKE_fcurve.h
===================================================================
--- branches/cycles/source/blender/blenkernel/BKE_fcurve.h	2011-10-24 22:32:00 UTC (rev 41266)
+++ branches/cycles/source/blender/blenkernel/BKE_fcurve.h	2011-10-24 22:51:44 UTC (rev 41267)
@@ -213,10 +213,12 @@
 int binarysearch_bezt_index(struct BezTriple array[], float frame, int arraylen, short *replace);
 
 /* get the time extents for F-Curve */
-void calc_fcurve_range(struct FCurve *fcu, float *min, float *max, const short selOnly);
+void calc_fcurve_range(struct FCurve *fcu, float *min, float *max,
+                       const short do_sel_only, const short do_min_length);
 
 /* get the bounding-box extents for F-Curve */
-void calc_fcurve_bounds(struct FCurve *fcu, float *xmin, float *xmax, float *ymin, float *ymax, const short selOnly);
+void calc_fcurve_bounds(struct FCurve *fcu, float *xmin, float *xmax, float *ymin, float *ymax,
+                        const short do_sel_only);
 
 /* .............. */
 

Modified: branches/cycles/source/blender/blenkernel/BKE_library.h
===================================================================
--- branches/cycles/source/blender/blenkernel/BKE_library.h	2011-10-24 22:32:00 UTC (rev 41266)
+++ branches/cycles/source/blender/blenkernel/BKE_library.h	2011-10-24 22:51:44 UTC (rev 41267)
@@ -50,6 +50,7 @@
 void copy_libblock_data(struct ID *id, const struct ID *id_from, const short do_action);
 
 void id_lib_extern(struct ID *id);
+void BKE_library_filepath_set(struct Library *lib, const char *filepath);
 void id_us_plus(struct ID *id);
 void id_us_min(struct ID *id);
 int id_make_local(struct ID *id, int test);

Modified: branches/cycles/source/blender/blenkernel/BKE_sequencer.h
===================================================================
--- branches/cycles/source/blender/blenkernel/BKE_sequencer.h	2011-10-24 22:32:00 UTC (rev 41266)
+++ branches/cycles/source/blender/blenkernel/BKE_sequencer.h	2011-10-24 22:51:44 UTC (rev 41267)
@@ -215,9 +215,7 @@
 	SEQ_STRIPELEM_IBUF_ENDSTILL
 } seq_stripelem_ibuf_t;
 
-void seq_stripelem_cache_init(void);
 void seq_stripelem_cache_destruct(void);
-
 void seq_stripelem_cache_cleanup(void);
 
 /* returned ImBuf is properly refed and has to be freed */

Modified: branches/cycles/source/blender/blenkernel/intern/action.c
===================================================================
--- branches/cycles/source/blender/blenkernel/intern/action.c	2011-10-24 22:32:00 UTC (rev 41266)
+++ branches/cycles/source/blender/blenkernel/intern/action.c	2011-10-24 22:51:44 UTC (rev 41267)
@@ -881,7 +881,7 @@
 				
 				/* get extents for this curve */
 				// TODO: allow enabling/disabling this?
-				calc_fcurve_range(fcu, &nmin, &nmax, FALSE);
+				calc_fcurve_range(fcu, &nmin, &nmax, FALSE, TRUE);
 				
 				/* compare to the running tally */
 				min= MIN2(min, nmin);

Modified: branches/cycles/source/blender/blenkernel/intern/blender.c
===================================================================
--- branches/cycles/source/blender/blenkernel/intern/blender.c	2011-10-24 22:32:00 UTC (rev 41266)
+++ branches/cycles/source/blender/blenkernel/intern/blender.c	2011-10-24 22:51:44 UTC (rev 41267)
@@ -61,6 +61,7 @@
 #include "BLI_callbacks.h"
 
 #include "IMB_imbuf.h"
+#include "IMB_moviecache.h"
 
 #include "BKE_blender.h"
 #include "BKE_context.h"
@@ -111,6 +112,7 @@
 	BLI_cb_finalize();
 
 	seq_stripelem_cache_destruct();
+	IMB_moviecache_destruct();
 	
 	free_nodesystem();	
 }

Modified: branches/cycles/source/blender/blenkernel/intern/fcurve.c
===================================================================
--- branches/cycles/source/blender/blenkernel/intern/fcurve.c	2011-10-24 22:32:00 UTC (rev 41266)
+++ branches/cycles/source/blender/blenkernel/intern/fcurve.c	2011-10-24 22:51:44 UTC (rev 41267)
@@ -433,7 +433,8 @@
 /* ...................................... */
 
 /* helper for calc_fcurve_* functions -> find first and last BezTriple to be used */
-static void get_fcurve_end_keyframes (FCurve *fcu, BezTriple **first, BezTriple **last, const short selOnly)
+static void get_fcurve_end_keyframes (FCurve *fcu, BezTriple **first, BezTriple **last,
+                                      const short do_sel_only)
 {
 	/* init outputs */
 	*first = NULL;
@@ -444,7 +445,7 @@
 		return;
 	

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list