eliminate AlignedBufferMP, also eliminate some unsused functions in boxblur.h

This commit is contained in:
heckflosse
2017-10-22 21:06:24 +02:00
parent 8bd9f174dc
commit 8de8775264
4 changed files with 1 additions and 547 deletions

View File

@@ -18,12 +18,8 @@
*/
#ifndef _ALIGNEDBUFFER_
#define _ALIGNEDBUFFER_
#include <cstdint>
#include <cstdlib>
#include <vector>
#include <utility>
#include <glibmm.h>
#include "../rtgui/threadutils.h"
// Aligned buffer that should be faster
template <class T> class AlignedBuffer
@@ -111,7 +107,6 @@ public:
}
if (real) {
//data = (T*)( (uintptr_t)real + (alignment-((uintptr_t)real)%alignment) );
data = (T*)( ( uintptr_t(real) + uintptr_t(alignment - 1)) / alignment * alignment);
inUse = true;
} else {
@@ -142,51 +137,4 @@ public:
}
};
// Multi processor version, use with OpenMP
template <class T> class AlignedBufferMP
{
private:
MyMutex mtx;
std::vector<AlignedBuffer<T>*> buffers;
size_t size;
public:
explicit AlignedBufferMP(size_t sizeP)
{
size = sizeP;
}
~AlignedBufferMP()
{
for (size_t i = 0; i < buffers.size(); i++) {
delete buffers[i];
}
}
AlignedBuffer<T>* acquire()
{
MyMutex::MyLock lock(mtx);
// Find available buffer
for (size_t i = 0; i < buffers.size(); i++) {
if (!buffers[i]->inUse) {
buffers[i]->inUse = true;
return buffers[i];
}
}
// Add new buffer if nothing is free
AlignedBuffer<T>* buffer = new AlignedBuffer<T>(size);
buffers.push_back(buffer);
return buffer;
}
void release(AlignedBuffer<T>* buffer)
{
MyMutex::MyLock lock(mtx);
buffer->inUse = false;
}
};
#endif