[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