Revision: 65549
          http://sourceforge.net/p/brlcad/code/65549
Author:   ejno
Date:     2015-07-09 21:17:29 +0000 (Thu, 09 Jul 2015)
Log Message:
-----------
cleanups

Modified Paths:
--------------
    brlcad/trunk/src/librt/primitives/bot/gct_decimation/auxiliary/cc.h
    brlcad/trunk/src/librt/primitives/bot/gct_decimation/auxiliary/mmbitmap.c
    brlcad/trunk/src/librt/primitives/bot/gct_decimation/auxiliary/mmthread.h
    brlcad/trunk/src/librt/primitives/bot/gct_decimation/meshdecimation.c
    brlcad/trunk/src/librt/primitives/bot/gct_decimation/meshoptimizer.c

Modified: brlcad/trunk/src/librt/primitives/bot/gct_decimation/auxiliary/cc.h
===================================================================
--- brlcad/trunk/src/librt/primitives/bot/gct_decimation/auxiliary/cc.h 
2015-07-09 19:00:08 UTC (rev 65548)
+++ brlcad/trunk/src/librt/primitives/bot/gct_decimation/auxiliary/cc.h 
2015-07-09 21:17:29 UTC (rev 65549)
@@ -32,9 +32,7 @@
 
 #include "common.h"
 
-#include "cpuconfig.h"
 
-
 typedef struct {
     uint32_t a;
     uint32_t b;

Modified: 
brlcad/trunk/src/librt/primitives/bot/gct_decimation/auxiliary/mmbitmap.c
===================================================================
--- brlcad/trunk/src/librt/primitives/bot/gct_decimation/auxiliary/mmbitmap.c   
2015-07-09 19:00:08 UTC (rev 65548)
+++ brlcad/trunk/src/librt/primitives/bot/gct_decimation/auxiliary/mmbitmap.c   
2015-07-09 21:17:29 UTC (rev 65549)
@@ -40,6 +40,7 @@
 
 #include "cc.h"
 
+#include <limits.h>
 #include <stdlib.h>
 
 

Modified: 
brlcad/trunk/src/librt/primitives/bot/gct_decimation/auxiliary/mmthread.h
===================================================================
--- brlcad/trunk/src/librt/primitives/bot/gct_decimation/auxiliary/mmthread.h   
2015-07-09 19:00:08 UTC (rev 65548)
+++ brlcad/trunk/src/librt/primitives/bot/gct_decimation/auxiliary/mmthread.h   
2015-07-09 21:17:29 UTC (rev 65549)
@@ -40,10 +40,8 @@
 #include "mmatomic.h"
 
 #include <pthread.h>
+#include <sys/time.h>
 #include <unistd.h>
-#include <sched.h>
-#include <sys/time.h>
-#include <limits.h>
 
 #if _POSIX_SPIN_LOCKS > 0
 #define MT_SPIN_LOCK_SUPPORT
@@ -57,47 +55,22 @@
 };
 
 
-#define MT_THREAD_FLAGS_JOINABLE (0x1)
-#define MT_THREAD_FLAGS_SETSTACK (0x2)
-
-
 #define MT_MUTEX_INITIALIZER { PTHREAD_MUTEX_INITIALIZER }
 
 
-static inline void mtThreadCreate(mtThread *thread, void *(*threadmain)(void 
*value), void *value, int flags, void *stack, size_t stacksize)
+static inline void mtThreadCreate(mtThread *thread, void *(*threadmain)(void 
*value), void *value)
 {
     pthread_attr_t attr;
-
     pthread_attr_init(&attr);
-#if !defined(MM_WIN32) && !defined(MM_WIN64)
-
-    if (flags & MT_THREAD_FLAGS_SETSTACK)
-       pthread_attr_setstack(&attr, stack, stacksize);
-
-#endif
-
-    if (flags & MT_THREAD_FLAGS_JOINABLE)
-       pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_JOINABLE);
-    else
-       pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);
-
+    pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_JOINABLE);
     pthread_create(&thread->pthread, &attr, threadmain, value);
     pthread_attr_destroy(&attr);
-
-    return;
 }
 
-static inline void mtThreadExit()
-{
-    pthread_exit(0);
-    return;
-}
-
 static inline void mtThreadJoin(mtThread *thread)
 {
     void *ret;
     pthread_join(thread->pthread, &ret);
-    return;
 }
 
 
@@ -110,25 +83,21 @@
 static inline void mtMutexInit(mtMutex *mutex)
 {
     pthread_mutex_init(&mutex->pmutex, 0);
-    return;
 }
 
 static inline void mtMutexDestroy(mtMutex *mutex)
 {
     pthread_mutex_destroy(&mutex->pmutex);
-    return;
 }
 
 static inline void mtMutexLock(mtMutex *mutex)
 {
     pthread_mutex_lock(&mutex->pmutex);
-    return;
 }
 
 static inline void mtMutexUnlock(mtMutex *mutex)
 {
     pthread_mutex_unlock(&mutex->pmutex);
-    return;
 }
 
 static inline int mtMutexTryLock(mtMutex *mutex)
@@ -136,6 +105,7 @@
     return !(pthread_mutex_trylock(&mutex->pmutex));
 }
 
+
 /****/
 
 
@@ -145,37 +115,31 @@
     pthread_cond_t pcond;
 };
 
+
 static inline void mtSignalInit(mtSignal *signal)
 {
     pthread_cond_init(&signal->pcond, 0);
-    return;
 }
 
+
 static inline void mtSignalDestroy(mtSignal *signal)
 {
     pthread_cond_destroy(&signal->pcond);
-    return;
 }
 
-static inline void mtSignalWake(mtSignal *signal)
-{
-    pthread_cond_signal(&signal->pcond);
-    return;
-}
 
 static inline void mtSignalBroadcast(mtSignal *signal)
 {
     pthread_cond_broadcast(&signal->pcond);
-    return;
 }
 
 
 static inline void mtSignalWait(mtSignal *signal, mtMutex *mutex)
 {
     pthread_cond_wait(&signal->pcond, &mutex->pmutex);
-    return;
 }
 
+
 static inline void mtSignalWaitTimeout(mtSignal *signal, mtMutex *mutex, long 
milliseconds)
 {
     uint64_t microsecs;
@@ -201,87 +165,83 @@
 
 #ifdef MM_ATOMIC_SUPPORT
 
+
 typedef struct mtSpin mtSpin;
 
+
 struct mtSpin {
     mmAtomic32 atomicspin;
 };
 
+
 static inline void mtSpinInit(mtSpin *spin)
 {
     mmAtomicWrite32(&spin->atomicspin, 0x0);
-    return;
 }
 
+
 static inline void mtSpinDestroy(mtSpin *UNUSED(spin))
-{
-    return;
-}
+{}
 
+
 static inline void mtSpinLock(mtSpin *spin)
 {
     mmAtomicSpin32(&spin->atomicspin, 0x0, 0x1);
-    return;
 }
 
+
 static inline void mtSpinUnlock(mtSpin *spin)
 {
     mmAtomicWrite32(&spin->atomicspin, 0x0);
-    return;
 }
 
-static inline int mtSpinTryLock(mtSpin *spin)
-{
-    return mmAtomicCmpReplace32(&spin->atomicspin, 0x0, 0x1);
-}
 
 #elif defined(MT_SPIN_LOCK_SUPPORT)
 
+
 typedef struct mtSpin mtSpin;
 
+
 struct mtSpin {
     pthread_spinlock_t pspinlock;
 };
 
+
 static inline void mtSpinInit(mtSpin *spin)
 {
     pthread_spin_init(&spin->pspinlock, PTHREAD_PROCESS_PRIVATE);
-    return;
 }
 
+
 static inline void mtSpinDestroy(mtSpin *spin)
 {
     pthread_spin_destroy(&spin->pspinlock);
-    return;
 }
 
 static inline void mtSpinLock(mtSpin *spin)
 {
     pthread_spin_lock(&spin->pspinlock);
-    return;
 }
 
+
 static inline void mtSpinUnlock(mtSpin *spin)
 {
     pthread_spin_unlock(&spin->pspinlock);
-    return;
 }
 
-static inline int mtSpinTryLock(mtSpin *spin)
-{
-    return !(pthread_spin_trylock(&spin->pspinlock));
-}
 
 #else
 
+
 typedef struct mtMutex mtSpin;
 
+
 #define mtSpinInit(a) mtMutexInit(a)
 #define mtSpinDestroy(a) mtMutexDestroy(a)
 #define mtSpinLock(a) mtMutexLock(a)
 #define mtSpinUnlock(a) mtMutexUnlock(a)
-#define mtSpinTryLock(a) mtMutexTryLock(a)
 
+
 #endif
 
 

Modified: brlcad/trunk/src/librt/primitives/bot/gct_decimation/meshdecimation.c
===================================================================
--- brlcad/trunk/src/librt/primitives/bot/gct_decimation/meshdecimation.c       
2015-07-09 19:00:08 UTC (rev 65548)
+++ brlcad/trunk/src/librt/primitives/bot/gct_decimation/meshdecimation.c       
2015-07-09 21:17:29 UTC (rev 65549)
@@ -38,7 +38,6 @@
 
 #include "meshdecimation.h"
 
-#include "auxiliary/cpuconfig.h"
 #include "auxiliary/cpuinfo.h"
 #include "auxiliary/cc.h"
 #include "auxiliary/mm.h"
@@ -50,13 +49,7 @@
 #include "bu/parallel.h"
 #include "vmath.h"
 
-#include <stdio.h>
-#include <stdlib.h>
-#include <stddef.h>
-#include <stdint.h>
 #include <string.h>
-#include <math.h>
-#include <float.h>
 
 
 #ifdef __SSE__
@@ -118,11 +111,6 @@
 #define MD_CONFIG_DELAYED_OP_REDIRECT
 
 
-#ifdef MM_ATOMIC_SUPPORT
-#define MD_CONFIG_ATOMIC_SUPPORT
-#endif
-
-
 #if defined(CPUCONF_ARCH_AMD64) || defined(CPUCONF_ARCH_IA32)
 #define MD_CONFIG_SSE_SUPPORT
 #endif
@@ -558,7 +546,7 @@
 #else
     mdf point[3];
 #endif
-#ifdef MD_CONFIG_ATOMIC_SUPPORT
+#ifdef MM_ATOMIC_SUPPORT
     mmAtomic32 atomicowner;
 #else
     int owner;
@@ -591,7 +579,7 @@
     mdi trirefcount;
     long trirefalloc;
     char paddingA[64];
-#ifdef MD_CONFIG_ATOMIC_SUPPORT
+#ifdef MM_ATOMIC_SUPPORT
     mmAtomic32 trireflock;
 #else
     mtSpin trirefspinlock;
@@ -629,7 +617,7 @@
     mdf maxcollapsecost;
 
     char paddingC[64];
-#ifdef MD_CONFIG_ATOMIC_SUPPORT
+#ifdef MM_ATOMIC_SUPPORT
     mmAtomic32 globalvertexlock;
 #else
     mtSpin globalvertexspinlock;
@@ -872,7 +860,7 @@
       mathQuadricMul( &q, area * MD_BOUNDARY_WEIGHT );
     */
 
-#ifdef MD_CONFIG_ATOMIC_SUPPORT
+#ifdef MM_ATOMIC_SUPPORT
     mmAtomicSpin32(&vertex0->atomicowner, -1, 0xffff);
     mathQuadricAddQuadric(&vertex0->quadric, &q);
     mmAtomicWrite32(&vertex0->atomicowner, -1);
@@ -882,7 +870,7 @@
     mtSpinUnlock(&vertex0->ownerspinlock);
 #endif
 
-#ifdef MD_CONFIG_ATOMIC_SUPPORT
+#ifdef MM_ATOMIC_SUPPORT
     mmAtomicSpin32(&vertex1->atomicowner, -1, 0xffff);
     mathQuadricAddQuadric(&vertex1->quadric, &q);
     mmAtomicWrite32(&vertex1->atomicowner, -1);
@@ -1024,7 +1012,7 @@
     void **opbuffer;
     int opcount;
     int opalloc;
-#ifdef MD_CONFIG_ATOMIC_SUPPORT
+#ifdef MM_ATOMIC_SUPPORT
     mmAtomic32 atomlock;
 #else
     mtSpin spinlock;
@@ -1034,7 +1022,7 @@
 
 /* 56 bytes, try padding to 64? */
 typedef struct {
-#ifdef MD_CONFIG_ATOMIC_SUPPORT
+#ifdef MM_ATOMIC_SUPPORT
     mmAtomic32 flags;
 #else
     int flags;
@@ -1089,7 +1077,7 @@
     updatebuffer->opbuffer = (void **)malloc(opalloc * sizeof(mdOp *));
     updatebuffer->opcount = 0;
     updatebuffer->opalloc = opalloc;
-#ifdef MD_CONFIG_ATOMIC_SUPPORT
+#ifdef MM_ATOMIC_SUPPORT
     mmAtomicWrite32(&updatebuffer->atomlock, 0x0);
 #else
     mtSpinInit(&updatebuffer->spinlock);
@@ -1099,7 +1087,7 @@
 
 static void mdUpdateBufferEnd(mdUpdateBuffer *updatebuffer)
 {
-#ifndef MD_CONFIG_ATOMIC_SUPPORT
+#ifndef MM_ATOMIC_SUPPORT
     mtSpinDestroy(&updatebuffer->spinlock);
 #endif
     free(updatebuffer->opbuffer);
@@ -1110,7 +1098,7 @@
 {
     int32_t flags;
 
-#ifdef MD_CONFIG_ATOMIC_SUPPORT
+#ifdef MM_ATOMIC_SUPPORT
 
     for (; ;) {
        flags = mmAtomicRead32(&op->flags);
@@ -1329,7 +1317,7 @@
     else
        mmBinSortAdd(tdata->binsort, op, op->collapsecost);
 
-#ifdef MD_CONFIG_ATOMIC_SUPPORT
+#ifdef MM_ATOMIC_SUPPORT
     mmAtomicWrite32(&op->flags, opflags);
 #else
     op->flags = opflags;
@@ -1925,7 +1913,7 @@
 
     for (vindex = 0 ; vindex < buffer->vertexcount ; vindex++) {
        vertex = &mesh->vertexlist[ buffer->vertexlist[vindex] ];
-#ifdef MD_CONFIG_ATOMIC_SUPPORT
+#ifdef MM_ATOMIC_SUPPORT
 
        if (mmAtomicRead32(&vertex->atomicowner) == tdata->threadid)
            mmAtomicCmpXchg32(&vertex->atomicowner, tdata->threadid, -1);
@@ -1951,7 +1939,7 @@
     mdVertex *vertex;
     vertex = &mesh->vertexlist[ vertexindex ];
 
-#ifdef MD_CONFIG_ATOMIC_SUPPORT
+#ifdef MM_ATOMIC_SUPPORT
     owner = mmAtomicRead32(&vertex->atomicowner);
 
     if (owner == tdata->threadid)
@@ -1992,7 +1980,7 @@
     mdVertex *vertex;
     vertex = &mesh->vertexlist[ vertexindex ];
 
-#ifdef MD_CONFIG_ATOMIC_SUPPORT
+#ifdef MM_ATOMIC_SUPPORT
     owner = mmAtomicRead32(&vertex->atomicowner);
 
     if (owner == tdata->threadid)
@@ -2099,7 +2087,7 @@
     for (; ;) {
        if ((failcount > MD_GLOBAL_LOCK_THRESHOLD) && !(globalflag)) {
            mdLockBufferUnlockAll(mesh, tdata, lockbuffer);
-#ifdef MD_CONFIG_ATOMIC_SUPPORT
+#ifdef MM_ATOMIC_SUPPORT
            mmAtomicSpin32(&mesh->globalvertexlock, 0x0, 0x1);
 #else
            mtSpinLock(&mesh->globalvertexspinlock);
@@ -2128,7 +2116,7 @@
 #endif
     }
 
-#ifdef MD_CONFIG_ATOMIC_SUPPORT
+#ifdef MM_ATOMIC_SUPPORT
 
     if (globalflag)
        mmAtomicWrite32(&mesh->globalvertexlock, 0x0);
@@ -2181,7 +2169,7 @@
     for (; ;) {
        if ((failcount > MD_GLOBAL_LOCK_THRESHOLD) && !(globalflag)) {
            mdLockBufferUnlockAll(mesh, tdata, lockbuffer);
-#ifdef MD_CONFIG_ATOMIC_SUPPORT
+#ifdef MM_ATOMIC_SUPPORT
            mmAtomicSpin32(&mesh->globalvertexlock, 0x0, 0x1);
 #else
            mtSpinLock(&mesh->globalvertexspinlock);
@@ -2225,7 +2213,7 @@
 #endif
     }
 
-#ifdef MD_CONFIG_ATOMIC_SUPPORT
+#ifdef MM_ATOMIC_SUPPORT
 
     if (globalflag)
        mmAtomicWrite32(&mesh->globalvertexlock, 0x0);
@@ -2326,7 +2314,7 @@
            vertex0->trirefbase = vertex1->trirefbase;
        else {
            /* Multithreading, acquire lock */
-#ifdef MD_CONFIG_ATOMIC_SUPPORT
+#ifdef MM_ATOMIC_SUPPORT
            mmAtomicSpin32(&mesh->trireflock, 0x0, 0x1);
 #else
            mtSpinLock(&mesh->trirefspinlock);
@@ -2337,7 +2325,7 @@
            if (mesh->trirefcount >= mesh->trirefalloc)
                bu_bomb("SHOULD NOT HAPPEN");
 
-#ifdef MD_CONFIG_ATOMIC_SUPPORT
+#ifdef MM_ATOMIC_SUPPORT
            mmAtomicWrite32(&mesh->trireflock, 0x0);
 #else
            mtSpinUnlock(&mesh->trirefspinlock);
@@ -2521,7 +2509,7 @@
     mesh->attribcount = 0;
     mesh->attrib = 0;
 
-#ifdef MD_CONFIG_ATOMIC_SUPPORT
+#ifdef MM_ATOMIC_SUPPORT
     mmAtomicWrite32(&mesh->trireflock, 0x0);
     mmAtomicWrite32(&mesh->globalvertexlock, 0x0);
 #else
@@ -2551,7 +2539,7 @@
     point = ADDRESS(mesh->point, vertexindex * mesh->pointstride);
 
     for (; vertexindex < vertexindexmax ; vertexindex++, vertex++) {
-#ifdef MD_CONFIG_ATOMIC_SUPPORT
+#ifdef MM_ATOMIC_SUPPORT
        mmAtomicWrite32(&vertex->atomicowner, -1);
 #else
        vertex->owner = -1;
@@ -2603,7 +2591,7 @@
 
        for (i = 0 ; i < 3 ; i++) {
            vertex = &mesh->vertexlist[ tri->v[i] ];
-#ifdef MD_CONFIG_ATOMIC_SUPPORT
+#ifdef MM_ATOMIC_SUPPORT
            mmAtomicSpin32(&vertex->atomicowner, -1, tdata->threadid);
            mathQuadricAddQuadric(&vertex->quadric, &q);
            vertex->trirefcount++;
@@ -2690,7 +2678,7 @@
     for (; triindex < triindexmax ; triindex++, tri++) {
        for (i = 0 ; i < 3 ; i++) {
            vertex = &mesh->vertexlist[ tri->v[i] ];
-#ifdef MD_CONFIG_ATOMIC_SUPPORT
+#ifdef MM_ATOMIC_SUPPORT
            mmAtomicSpin32(&vertex->atomicowner, -1, tdata->threadid);
            mesh->trireflist[ vertex->trirefbase + vertex->trirefcount++ ] = 
triindex;
            mmAtomicWrite32(&vertex->atomicowner, -1);
@@ -2740,7 +2728,7 @@
 /* Mesh clean up */
 static void mdMeshEnd(mdMesh *mesh)
 {
-#ifndef MD_CONFIG_ATOMIC_SUPPORT
+#ifndef MM_ATOMIC_SUPPORT
     mdi vindex;
     mdVertex *vertex;
     vertex = mesh->vertexlist;
@@ -2767,7 +2755,7 @@
     collapsecost = op->value + op->penalty;
 
     if ((denyflag) || (collapsecost > mesh->maxcollapsecost)) {
-#ifdef MD_CONFIG_ATOMIC_SUPPORT
+#ifdef MM_ATOMIC_SUPPORT
 
        if (!(mmAtomicRead32(&op->flags) & MD_OP_FLAGS_DETACHED)) {
            mmBinSortRemove(tdata->binsort, op, op->collapsecost);
@@ -2785,7 +2773,7 @@
        mtSpinUnlock(&op->spinlock);
 #endif
     } else {
-#ifdef MD_CONFIG_ATOMIC_SUPPORT
+#ifdef MM_ATOMIC_SUPPORT
 
        if (mmAtomicRead32(&op->flags) & MD_OP_FLAGS_DETACHED) {
            mmBinSortAdd(tdata->binsort, op, collapsecost);
@@ -2814,7 +2802,7 @@
 static void mdUpdateOp(mdMesh *mesh, mdThreadData *tdata, mdOp *op, int32_t 
opflagsmask)
 {
     int denyflag, flags;
-#ifdef MD_CONFIG_ATOMIC_SUPPORT
+#ifdef MM_ATOMIC_SUPPORT
 
     for (; ;) {
        flags = mmAtomicRead32(&op->flags);
@@ -2844,7 +2832,7 @@
        /*
            mmBlockFree( &tdata->opblock, op );
        */
-#ifdef MD_CONFIG_ATOMIC_SUPPORT
+#ifdef MM_ATOMIC_SUPPORT
        mmAtomicOr32(&op->flags, MD_OP_FLAGS_DELETED);
 #else
        mtSpinLock(&op->spinlock);
@@ -2864,7 +2852,7 @@
     int vindex;
     mdOp *op;
 
-#ifdef MD_CONFIG_ATOMIC_SUPPORT
+#ifdef MM_ATOMIC_SUPPORT
     mmAtomicSpin32(&updatebuffer->atomlock, 0x0, 0x1);
 #else
     mtSpinLock(&updatebuffer->spinlock);
@@ -2877,7 +2865,7 @@
            mdUpdateOp(mesh, tdata, op, ~(MD_OP_FLAGS_UPDATE_QUEUED | 
MD_OP_FLAGS_UPDATE_NEEDED));
            mdLockBufferUnlockAll(mesh, tdata, lockbuffer);
        } else {
-#ifdef MD_CONFIG_ATOMIC_SUPPORT
+#ifdef MM_ATOMIC_SUPPORT
            mmAtomicWrite32(&updatebuffer->atomlock, 0x0);
 #else
            mtSpinUnlock(&updatebuffer->spinlock);
@@ -2885,7 +2873,7 @@
            mdOpResolveLockEdge(mesh, tdata, lockbuffer, op);
            mdUpdateOp(mesh, tdata, op, ~(MD_OP_FLAGS_UPDATE_QUEUED | 
MD_OP_FLAGS_UPDATE_NEEDED));
            mdLockBufferUnlockAll(mesh, tdata, lockbuffer);
-#ifdef MD_CONFIG_ATOMIC_SUPPORT
+#ifdef MM_ATOMIC_SUPPORT
            mmAtomicSpin32(&updatebuffer->atomlock, 0x0, 0x1);
 #else
            mtSpinLock(&updatebuffer->spinlock);
@@ -2894,7 +2882,7 @@
     }
 
     updatebuffer->opcount = 0;
-#ifdef MD_CONFIG_ATOMIC_SUPPORT
+#ifdef MM_ATOMIC_SUPPORT
     mmAtomicWrite32(&updatebuffer->atomlock, 0x0);
 #else
     mtSpinUnlock(&updatebuffer->spinlock);
@@ -2950,7 +2938,7 @@
        mdOpResolveLockFull(mesh, tdata, &lockbuffer, op);
 
        /* If our op was flagged for update between mdUpdateBufferOps() and 
before we acquired lock, no big deal, catch the update */
-#ifdef MD_CONFIG_ATOMIC_SUPPORT
+#ifdef MM_ATOMIC_SUPPORT
        opflags = mmAtomicRead32(&op->flags);
 #else
        mtSpinLock(&op->spinlock);
@@ -2965,7 +2953,7 @@
        }
 
        if (!(mdEdgeCollisionCheck(mesh, tdata, op->v0, op->v1))) {
-#ifdef MD_CONFIG_ATOMIC_SUPPORT
+#ifdef MM_ATOMIC_SUPPORT
 
            if (mmAtomicRead32(&op->flags) & MD_OP_FLAGS_DETACHED)
                bu_bomb("SHOULD NOT HAPPEN");
@@ -3550,7 +3538,7 @@
     int stage;
 } mdThreadInit;
 
-#ifndef MD_CONFIG_ATOMIC_SUPPORT
+#ifndef MM_ATOMIC_SUPPORT
 int mdFreeOpCallback(void *chunk, void *UNUSED(userpointer))
 {
     mdOp *op;
@@ -3655,7 +3643,7 @@
     mdBarrierSync(&mesh->globalbarrier);
 
     /* If we didn't use atomic operations, we have spinlocks to destroy in 
each op */
-#ifndef MD_CONFIG_ATOMIC_SUPPORT
+#ifndef MM_ATOMIC_SUPPORT
     mmBlockProcessList(&tdata.opblock, 0, mdFreeOpCallback);
 #endif
 
@@ -4048,7 +4036,7 @@
        tinit->threadid = threadid;
        tinit->mesh = &mesh;
        tinit->stage = MD_STATUS_STAGE_INIT;
-       mtThreadCreate(&thread[threadid], mdThreadMain, tinit, 
MT_THREAD_FLAGS_JOINABLE, 0, 0);
+       mtThreadCreate(&thread[threadid], mdThreadMain, tinit);
     }
 
     /* Wait until all threads have properly initialized */

Modified: brlcad/trunk/src/librt/primitives/bot/gct_decimation/meshoptimizer.c
===================================================================
--- brlcad/trunk/src/librt/primitives/bot/gct_decimation/meshoptimizer.c        
2015-07-09 19:00:08 UTC (rev 65548)
+++ brlcad/trunk/src/librt/primitives/bot/gct_decimation/meshoptimizer.c        
2015-07-09 21:17:29 UTC (rev 65549)
@@ -38,30 +38,17 @@
 
 #include "meshoptimizer.h"
 
-#include "auxiliary/cpuconfig.h"
-#include "auxiliary/cpuinfo.h"
 #include "auxiliary/cc.h"
 #include "auxiliary/mm.h"
-#include "auxiliary/mmhash.h"
 #include "auxiliary/math3d.h"
 
 #include "bu/log.h"
 #include "bu/parallel.h"
 
-#include <stdio.h>
 #include <stdlib.h>
-#include <stddef.h>
-#include <stdint.h>
-#include <string.h>
 #include <math.h>
-#include <float.h>
 
 
-#ifdef MM_ATOMIC_SUPPORT
-#define MO_CONFIG_ATOMIC_SUPPORT
-#endif
-
-
 #define MO_THREAD_COUNT_MAX (64)
 
 
@@ -137,7 +124,7 @@
 
 
 typedef struct {
-#ifdef MO_CONFIG_ATOMIC_SUPPORT
+#ifdef MM_ATOMIC_SUPPORT
     mmAtomic32 atomicowner;
     mmAtomic32 atomictrirefcount;
 #else
@@ -151,7 +138,7 @@
 
 typedef struct {
     moi v[3];
-#ifdef MO_CONFIG_ATOMIC_SUPPORT
+#ifdef MM_ATOMIC_SUPPORT
     mmAtomic32 atomictrinext;
 #else
     moi trinext;
@@ -313,7 +300,7 @@
     vertex = &mesh->vertexlist[vertexindex];
 
     for (; vertexindex < vertexindexmax ; vertexindex++, vertex++) {
-#ifdef MO_CONFIG_ATOMIC_SUPPORT
+#ifdef MM_ATOMIC_SUPPORT
        mmAtomicWrite32(&vertex->atomicowner, -1);
        mmAtomicWrite32(&vertex->atomictrirefcount, 0);
 #else
@@ -349,7 +336,7 @@
 
     for (; triindex < triindexmax ; triindex++, indices = ADDRESS(indices, 
mesh->indicesstride), tri++) {
        mesh->indicesUserToNative(tri->v, indices);
-#ifdef MO_CONFIG_ATOMIC_SUPPORT
+#ifdef MM_ATOMIC_SUPPORT
        mmAtomicWrite32(&tri->atomictrinext, MO_TRINEXT_PENDING);
 #else
        tri->trinext = MO_TRINEXT_PENDING;
@@ -358,7 +345,7 @@
 
        for (i = 0 ; i < 3 ; i++) {
            vertex = &mesh->vertexlist[ tri->v[i] ];
-#ifdef MO_CONFIG_ATOMIC_SUPPORT
+#ifdef MM_ATOMIC_SUPPORT
            mmAtomicAdd32(&vertex->atomictrirefcount, 1);
 #else
            mtSpinLock(&vertex->ownerspinlock);
@@ -383,7 +370,7 @@
     vertex = mesh->vertexlist;
 
     for (vertexindex = 0 ; vertexindex < mesh->vertexcount ; vertexindex++, 
vertex++) {
-#ifdef MO_CONFIG_ATOMIC_SUPPORT
+#ifdef MM_ATOMIC_SUPPORT
        trirefcount += mmAtomicRead32(&vertex->atomictrirefcount);
 #else
        trirefcount += vertex->trirefcount;
@@ -422,7 +409,7 @@
 
        for (i = 0 ; i < 3 ; i++) {
            vertex = &mesh->vertexlist[ tri->v[i] ];
-#ifdef MO_CONFIG_ATOMIC_SUPPORT
+#ifdef MM_ATOMIC_SUPPORT
            mmAtomicSpin32(&vertex->atomicowner, -1, tdata->threadid);
            mesh->trireflist[ --vertex->trirefbase ] = triindex;
            mmAtomicWrite32(&vertex->atomicowner, -1);
@@ -606,7 +593,7 @@
 static mof moTriangleScore(moMesh *mesh, moThreadData *tdata, moTriangle *tri)
 {
     int axisindex, cacheorder, trirefcount;
-#ifndef MO_CONFIG_ATOMIC_SUPPORT
+#ifndef MM_ATOMIC_SUPPORT
     int32_t owner;
 #endif
     moi vertexindex;
@@ -620,7 +607,7 @@
        cacheorder = moCacheGetOrder(mesh, tdata, vertexindex);
        score += mesh->cachescore[ cacheorder ];
        vertex = &mesh->vertexlist[ vertexindex ];
-#ifdef MO_CONFIG_ATOMIC_SUPPORT
+#ifdef MM_ATOMIC_SUPPORT
        trirefcount = mmAtomicRead32(&vertex->atomictrirefcount);
 #else
        mtSpinLock(&vertex->ownerspinlock);
@@ -644,7 +631,7 @@
 static mof moTriangleNextScore(moMesh *mesh, moThreadData *tdata, moTriangle 
*tri, moi *prevtriv)
 {
     int axisindex, cacheorder, trirefcount;
-#ifndef MO_CONFIG_ATOMIC_SUPPORT
+#ifndef MM_ATOMIC_SUPPORT
     int32_t owner;
 #endif
     moi vertexindex;
@@ -666,7 +653,7 @@
 
        score += mesh->cachescore[ cacheorder ];
        vertex = &mesh->vertexlist[ vertexindex ];
-#ifdef MO_CONFIG_ATOMIC_SUPPORT
+#ifdef MM_ATOMIC_SUPPORT
        trirefcount = mmAtomicRead32(&vertex->atomictrirefcount);
 #else
        mtSpinLock(&vertex->ownerspinlock);
@@ -702,7 +689,7 @@
        vertexindex = tri->v[axisindex];
        vertex = &mesh->vertexlist[ vertexindex ];
        trireflist = &mesh->trireflist[vertex->trirefbase];
-#ifdef MO_CONFIG_ATOMIC_SUPPORT
+#ifdef MM_ATOMIC_SUPPORT
        mmAtomicSpin32(&vertex->atomicowner, -1, tdata->threadid);
        trirefcount = mmAtomicRead32(&vertex->atomictrirefcount);
 #else
@@ -725,7 +712,7 @@
                bestscore = score;
        }
 
-#ifdef MO_CONFIG_ATOMIC_SUPPORT
+#ifdef MM_ATOMIC_SUPPORT
        mmAtomicWrite32(&vertex->atomicowner, -1);
 #else
        mtSpinLock(&vertex->ownerspinlock);
@@ -755,7 +742,7 @@
        /* Adjust triref lists and count for the 3 vertices */
        vertexindex = tri->v[axisindex];
        vertex = &mesh->vertexlist[vertexindex];
-#ifdef MO_CONFIG_ATOMIC_SUPPORT
+#ifdef MM_ATOMIC_SUPPORT
        mmAtomicSpin32(&vertex->atomicowner, -1, tdata->threadid);
 #else
        mtSpinLock(&vertex->ownerspinlock);
@@ -769,7 +756,7 @@
            if (triindex != detachtriindex)
                continue;
 
-#ifdef MO_CONFIG_ATOMIC_SUPPORT
+#ifdef MM_ATOMIC_SUPPORT
            trirefcount = mmAtomicRead32(&vertex->atomictrirefcount) - 1;
            mmAtomicWrite32(&vertex->atomictrirefcount, trirefcount);
 #else
@@ -783,7 +770,7 @@
            break;
        }
 
-#ifdef MO_CONFIG_ATOMIC_SUPPORT
+#ifdef MM_ATOMIC_SUPPORT
        mmAtomicWrite32(&vertex->atomicowner, -1);
 #else
        vertex->owner = -1;
@@ -800,7 +787,7 @@
     moi seedindex, triindex, triindexstart, triindexend;
     mof score, bestscore;
     moTriangle *tri;
-#ifndef MO_CONFIG_ATOMIC_SUPPORT
+#ifndef MM_ATOMIC_SUPPORT
     moi trinext;
 #endif
 
@@ -824,7 +811,7 @@
            if ((--testcount < 0) && (seedindex != -1))
                goto done;
 
-#ifdef MO_CONFIG_ATOMIC_SUPPORT
+#ifdef MM_ATOMIC_SUPPORT
 
            if (mmAtomicRead32(&tri->atomictrinext) != MO_TRINEXT_PENDING)
                continue;
@@ -872,7 +859,7 @@
     moCacheEntry *cache;
     moVertex *vertex;
     moTriangle *tri;
-#ifndef MO_CONFIG_ATOMIC_SUPPORT
+#ifndef MM_ATOMIC_SUPPORT
     moi trinext;
 #endif
 
@@ -896,7 +883,7 @@
 
            vertex = &mesh->vertexlist[cache->vertexindex];
            trireflist = &mesh->trireflist[vertex->trirefbase];
-#ifdef MO_CONFIG_ATOMIC_SUPPORT
+#ifdef MM_ATOMIC_SUPPORT
            mmAtomicSpin32(&vertex->atomicowner, -1, tdata->threadid);
            trirefcount = mmAtomicRead32(&vertex->atomictrirefcount);
 #else
@@ -909,7 +896,7 @@
            for (trirefindex = 0 ; trirefindex < trirefcount ; trirefindex++) {
                triindex = trireflist[trirefindex];
                tri = &mesh->trilist[triindex];
-#ifdef MO_CONFIG_ATOMIC_SUPPORT
+#ifdef MM_ATOMIC_SUPPORT
 
                if (mmAtomicRead32(&tri->atomictrinext) != MO_TRINEXT_PENDING)
                    continue;
@@ -932,7 +919,7 @@
                besttriindex = triindex;
            }
 
-#ifdef MO_CONFIG_ATOMIC_SUPPORT
+#ifdef MM_ATOMIC_SUPPORT
            mmAtomicWrite32(&vertex->atomicowner, -1);
 #else
            mtSpinLock(&vertex->ownerspinlock);
@@ -1003,7 +990,7 @@
     moTriangle *tri;
     moScoreEntry scorebuffer[MO_LOOK_AHEAD_BEST_BUFFER_SIZE];
     moScoreEntry *entry, *entrynext;
-#ifndef MO_CONFIG_ATOMIC_SUPPORT
+#ifndef MM_ATOMIC_SUPPORT
     moi trinext;
 #endif
 
@@ -1032,7 +1019,7 @@
 
            vertex = &mesh->vertexlist[cache->vertexindex];
            trireflist = &mesh->trireflist[vertex->trirefbase];
-#ifdef MO_CONFIG_ATOMIC_SUPPORT
+#ifdef MM_ATOMIC_SUPPORT
            mmAtomicSpin32(&vertex->atomicowner, -1, tdata->threadid);
            trirefcount = mmAtomicRead32(&vertex->atomictrirefcount);
 #else
@@ -1045,7 +1032,7 @@
            for (trirefindex = 0 ; trirefindex < trirefcount ; trirefindex++) {
                triindex = trireflist[trirefindex];
                tri = &mesh->trilist[triindex];
-#ifdef MO_CONFIG_ATOMIC_SUPPORT
+#ifdef MM_ATOMIC_SUPPORT
 
                if (mmAtomicRead32(&tri->atomictrinext) != MO_TRINEXT_PENDING)
                    continue;
@@ -1063,7 +1050,7 @@
                moBufferRegisterScore(scorebuffer, triindex, score);
            }
 
-#ifdef MO_CONFIG_ATOMIC_SUPPORT
+#ifdef MM_ATOMIC_SUPPORT
            mmAtomicWrite32(&vertex->atomicowner, -1);
 #else
            mtSpinLock(&vertex->ownerspinlock);
@@ -1135,7 +1122,7 @@
     moi delindex, delcount;
     moi delbuffer[8];
     moi(*findnextstep)(moMesh * mesh, moThreadData * tdata);
-#ifndef MO_CONFIG_ATOMIC_SUPPORT
+#ifndef MM_ATOMIC_SUPPORT
     moi trinext;
 #endif
 
@@ -1152,7 +1139,7 @@
 
 
        /* Add triangle to list */
-#ifdef MO_CONFIG_ATOMIC_SUPPORT
+#ifdef MM_ATOMIC_SUPPORT
 
        if (mmAtomicCmpReplace32(&tri->atomictrinext, MO_TRINEXT_PENDING, 
MO_TRINEXT_ENDOFLIST))
            break;
@@ -1206,7 +1193,7 @@
 
        /* If triangle has already been added by the time we got here, we have 
to start over... */
        tri = &mesh->trilist[besttriindex];
-#ifdef MO_CONFIG_ATOMIC_SUPPORT
+#ifdef MM_ATOMIC_SUPPORT
 
        if (!(mmAtomicCmpReplace32(&tri->atomictrinext, MO_TRINEXT_PENDING, 
MO_TRINEXT_ENDOFLIST)))
            continue;
@@ -1227,7 +1214,7 @@
 
        /* Add triangle to list */
        trilast = &mesh->trilist[tdata->trilast];
-#ifdef MO_CONFIG_ATOMIC_SUPPORT
+#ifdef MM_ATOMIC_SUPPORT
        mmAtomicWrite32(&trilast->atomictrinext, besttriindex);
 #else
        mtSpinLock(&tri->spinlock);
@@ -1365,7 +1352,7 @@
 
        for (triindex = tinit->trifirst ; triindex !=  MO_TRINEXT_ENDOFLIST ; 
triindex = trinext) {
            tri = &mesh->trilist[triindex];
-#ifdef MO_CONFIG_ATOMIC_SUPPORT
+#ifdef MM_ATOMIC_SUPPORT
            trinext = mmAtomicRead32(&tri->atomictrinext);
 #else
            trinext = tri->trinext;
@@ -1396,7 +1383,7 @@
 
        for (triindex = tinit->trifirst ; triindex !=  MO_TRINEXT_ENDOFLIST ; 
triindex = trinext) {
            tri = &mesh->trilist[triindex];
-#ifdef MO_CONFIG_ATOMIC_SUPPORT
+#ifdef MM_ATOMIC_SUPPORT
            trinext = mmAtomicRead32(&tri->atomictrinext);
 #else
            trinext = tri->trinext;
@@ -1445,7 +1432,7 @@
 
        for (triindex = tinit->trifirst ; triindex !=  MO_TRINEXT_ENDOFLIST ; 
triindex = trinext) {
            tri = &mesh->trilist[triindex];
-#ifdef MO_CONFIG_ATOMIC_SUPPORT
+#ifdef MM_ATOMIC_SUPPORT
            trinext = mmAtomicRead32(&tri->atomictrinext);
 #else
            trinext = tri->trinext;
@@ -1586,7 +1573,7 @@
     for (threadid = 0 ; threadid < threadcount ; threadid++, tinit++) {
        tinit->threadid = threadid;
        tinit->mesh = &mesh;
-       mtThreadCreate(&thread[threadid], moThreadMain, tinit, 
MT_THREAD_FLAGS_JOINABLE, 0, 0);
+       mtThreadCreate(&thread[threadid], moThreadMain, tinit);
     }
 
     /* Wait for all threads to be done */

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.


------------------------------------------------------------------------------
Don't Limit Your Business. Reach for the Cloud.
GigeNET's Cloud Solutions provide you with the tools and support that
you need to offload your IT needs and focus on growing your business.
Configured For All Businesses. Start Your Cloud Today.
https://www.gigenetcloud.com/
_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits

Reply via email to