[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [45840] trunk/blender/source/blender/ blenkernel/intern/CCGSubSurf.c: small speedup to VertDataMulN(av, n), when passed expressions to 'n' they were calculated 3 times, cuts 78 instructions from resulting assembly (gcc -O2).
Campbell Barton
ideasman42 at gmail.com
Sun Apr 22 05:25:53 CEST 2012
Revision: 45840
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=45840
Author: campbellbarton
Date: 2012-04-22 03:25:48 +0000 (Sun, 22 Apr 2012)
Log Message:
-----------
small speedup to VertDataMulN(av, n), when passed expressions to 'n' they were calculated 3 times, cuts 78 instructions from resulting assembly (gcc -O2).
Modified Paths:
--------------
trunk/blender/source/blender/blenkernel/intern/CCGSubSurf.c
Modified: trunk/blender/source/blender/blenkernel/intern/CCGSubSurf.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/CCGSubSurf.c 2012-04-22 03:07:21 UTC (rev 45839)
+++ trunk/blender/source/blender/blenkernel/intern/CCGSubSurf.c 2012-04-22 03:25:48 UTC (rev 45840)
@@ -282,7 +282,7 @@
#define VertDataCopy(av, bv) { float *_a = (float *)av, *_b = (float *) bv; _a[0] = _b[0]; _a[1] = _b[1]; _a[2] = _b[2]; }
#define VertDataAdd(av, bv) { float *_a = (float *)av, *_b = (float *) bv; _a[0] += _b[0]; _a[1] += _b[1]; _a[2] += _b[2]; }
#define VertDataSub(av, bv) { float *_a = (float *)av, *_b = (float *) bv; _a[0] -= _b[0]; _a[1] -= _b[1]; _a[2] -= _b[2]; }
-#define VertDataMulN(av, n) { float *_a = (float *)av; _a[0] *= n; _a[1] *= n; _a[2] *= n; }
+#define VertDataMulN(av, n) { float *_a = (float *)av; float _n = n; _a[0] *= _n; _a[1] *= _n; _a[2] *= _n; }
#define VertDataAvg4(tv, av, bv, cv, dv) \
{ \
float *_t = (float *) tv, *_a = (float *) av, *_b = (float *) bv, *_c = (float *) cv, *_d = (float *) dv; \
More information about the Bf-blender-cvs
mailing list