Cleanup: Remove unused states and vars from MemoryBuffer.
This commit is contained in:
@@ -383,7 +383,7 @@ MemoryBuffer *ExecutionGroup::constructConsolidatedMemoryBuffer(MemoryProxy &mem
|
||||
rcti &rect)
|
||||
{
|
||||
MemoryBuffer *imageBuffer = memoryProxy.getBuffer();
|
||||
MemoryBuffer *result = new MemoryBuffer(&memoryProxy, rect);
|
||||
MemoryBuffer *result = new MemoryBuffer(&memoryProxy, rect, MemoryBufferState::Temporary);
|
||||
result->fill_from(*imageBuffer);
|
||||
return result;
|
||||
}
|
||||
@@ -460,7 +460,8 @@ MemoryBuffer *ExecutionGroup::allocateOutputBuffer(rcti &rect)
|
||||
NodeOperation *operation = this->getOutputOperation();
|
||||
if (operation->isWriteBufferOperation()) {
|
||||
WriteBufferOperation *writeOperation = (WriteBufferOperation *)operation;
|
||||
MemoryBuffer *buffer = new MemoryBuffer(writeOperation->getMemoryProxy(), rect);
|
||||
MemoryBuffer *buffer = new MemoryBuffer(
|
||||
writeOperation->getMemoryProxy(), rect, MemoryBufferState::Temporary);
|
||||
return buffer;
|
||||
}
|
||||
return nullptr;
|
||||
|
||||
@@ -33,27 +33,14 @@ static unsigned int determine_num_channels(DataType datatype)
|
||||
}
|
||||
}
|
||||
|
||||
MemoryBuffer::MemoryBuffer(MemoryProxy *memoryProxy, unsigned int chunkNumber, const rcti &rect)
|
||||
MemoryBuffer::MemoryBuffer(MemoryProxy *memoryProxy, const rcti &rect, MemoryBufferState state)
|
||||
{
|
||||
m_rect = rect;
|
||||
this->m_memoryProxy = memoryProxy;
|
||||
this->m_chunkNumber = chunkNumber;
|
||||
this->m_num_channels = determine_num_channels(memoryProxy->getDataType());
|
||||
this->m_buffer = (float *)MEM_mallocN_aligned(
|
||||
sizeof(float) * buffer_len() * this->m_num_channels, 16, "COM_MemoryBuffer");
|
||||
this->m_state = COM_MB_ALLOCATED;
|
||||
this->m_datatype = memoryProxy->getDataType();
|
||||
}
|
||||
|
||||
MemoryBuffer::MemoryBuffer(MemoryProxy *memoryProxy, const rcti &rect)
|
||||
{
|
||||
m_rect = rect;
|
||||
this->m_memoryProxy = memoryProxy;
|
||||
this->m_chunkNumber = -1;
|
||||
this->m_num_channels = determine_num_channels(memoryProxy->getDataType());
|
||||
this->m_buffer = (float *)MEM_mallocN_aligned(
|
||||
sizeof(float) * buffer_len() * this->m_num_channels, 16, "COM_MemoryBuffer");
|
||||
this->m_state = COM_MB_TEMPORARILY;
|
||||
this->m_state = state;
|
||||
this->m_datatype = memoryProxy->getDataType();
|
||||
}
|
||||
|
||||
@@ -61,22 +48,22 @@ MemoryBuffer::MemoryBuffer(DataType dataType, const rcti &rect)
|
||||
{
|
||||
m_rect = rect;
|
||||
this->m_memoryProxy = nullptr;
|
||||
this->m_chunkNumber = -1;
|
||||
this->m_num_channels = determine_num_channels(dataType);
|
||||
this->m_buffer = (float *)MEM_mallocN_aligned(
|
||||
sizeof(float) * buffer_len() * this->m_num_channels, 16, "COM_MemoryBuffer");
|
||||
this->m_state = COM_MB_TEMPORARILY;
|
||||
this->m_state = MemoryBufferState::Temporary;
|
||||
this->m_datatype = dataType;
|
||||
}
|
||||
|
||||
MemoryBuffer::MemoryBuffer(const MemoryBuffer &src) : MemoryBuffer(src.m_memoryProxy, src.m_rect)
|
||||
MemoryBuffer::MemoryBuffer(const MemoryBuffer &src)
|
||||
: MemoryBuffer(src.m_memoryProxy, src.m_rect, MemoryBufferState::Temporary)
|
||||
{
|
||||
memcpy(m_buffer, src.m_buffer, buffer_len() * m_num_channels * sizeof(float));
|
||||
}
|
||||
|
||||
void MemoryBuffer::clear()
|
||||
{
|
||||
memset(this->m_buffer, 0, this->buffer_len() * this->m_num_channels * sizeof(float));
|
||||
memset(m_buffer, 0, buffer_len() * m_num_channels * sizeof(float));
|
||||
}
|
||||
|
||||
float MemoryBuffer::get_max_value() const
|
||||
|
||||
@@ -31,15 +31,13 @@ class MemoryBuffer;
|
||||
* \brief state of a memory buffer
|
||||
* \ingroup Memory
|
||||
*/
|
||||
typedef enum MemoryBufferState {
|
||||
enum class MemoryBufferState {
|
||||
/** \brief memory has been allocated on creator device and CPU machine,
|
||||
* but kernel has not been executed */
|
||||
COM_MB_ALLOCATED = 1,
|
||||
/** \brief memory is available for use, content has been created */
|
||||
COM_MB_AVAILABLE = 2,
|
||||
Default = 0,
|
||||
/** \brief chunk is consolidated from other chunks. special state.*/
|
||||
COM_MB_TEMPORARILY = 6,
|
||||
} MemoryBufferState;
|
||||
Temporary = 6,
|
||||
};
|
||||
|
||||
typedef enum MemoryBufferExtend {
|
||||
COM_MB_CLIP,
|
||||
@@ -69,12 +67,6 @@ class MemoryBuffer {
|
||||
*/
|
||||
rcti m_rect;
|
||||
|
||||
/**
|
||||
* brief refers to the chunk-number within the execution-group where related to the MemoryProxy
|
||||
* \see memoryProxy
|
||||
*/
|
||||
unsigned int m_chunkNumber;
|
||||
|
||||
/**
|
||||
* \brief state of the buffer
|
||||
*/
|
||||
@@ -92,15 +84,10 @@ class MemoryBuffer {
|
||||
unsigned int m_num_channels;
|
||||
|
||||
public:
|
||||
/**
|
||||
* \brief construct new MemoryBuffer for a chunk
|
||||
*/
|
||||
MemoryBuffer(MemoryProxy *memoryProxy, unsigned int chunkNumber, const rcti &rect);
|
||||
|
||||
/**
|
||||
* \brief construct new temporarily MemoryBuffer for an area
|
||||
*/
|
||||
MemoryBuffer(MemoryProxy *memoryProxy, const rcti &rect);
|
||||
MemoryBuffer(MemoryProxy *memoryProxy, const rcti &rect, MemoryBufferState state);
|
||||
|
||||
/**
|
||||
* \brief construct new temporarily MemoryBuffer for an area
|
||||
@@ -117,14 +104,6 @@ class MemoryBuffer {
|
||||
*/
|
||||
~MemoryBuffer();
|
||||
|
||||
/**
|
||||
* \brief read the ChunkNumber of this MemoryBuffer
|
||||
*/
|
||||
unsigned int getChunkNumber()
|
||||
{
|
||||
return this->m_chunkNumber;
|
||||
}
|
||||
|
||||
unsigned int get_num_channels()
|
||||
{
|
||||
return this->m_num_channels;
|
||||
@@ -139,14 +118,6 @@ class MemoryBuffer {
|
||||
return this->m_buffer;
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief after execution the state will be set to available by calling this method
|
||||
*/
|
||||
void setCreatedState()
|
||||
{
|
||||
this->m_state = COM_MB_AVAILABLE;
|
||||
}
|
||||
|
||||
inline void wrap_pixel(int &x, int &y, MemoryBufferExtend extend_x, MemoryBufferExtend extend_y)
|
||||
{
|
||||
const int w = getWidth();
|
||||
@@ -306,7 +277,7 @@ class MemoryBuffer {
|
||||
*/
|
||||
inline bool isTemporarily() const
|
||||
{
|
||||
return this->m_state == COM_MB_TEMPORARILY;
|
||||
return this->m_state == MemoryBufferState::Temporary;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -33,7 +33,7 @@ void MemoryProxy::allocate(unsigned int width, unsigned int height)
|
||||
result.ymin = 0;
|
||||
result.ymax = height;
|
||||
|
||||
this->m_buffer = new MemoryBuffer(this, 1, result);
|
||||
this->m_buffer = new MemoryBuffer(this, result, MemoryBufferState::Default);
|
||||
}
|
||||
|
||||
void MemoryProxy::free()
|
||||
|
||||
@@ -105,7 +105,6 @@ void WriteBufferOperation::executeRegion(rcti *rect, unsigned int /*tileNumber*/
|
||||
}
|
||||
}
|
||||
}
|
||||
memoryBuffer->setCreatedState();
|
||||
}
|
||||
|
||||
void WriteBufferOperation::executeOpenCLRegion(OpenCLDevice *device,
|
||||
|
||||
Reference in New Issue
Block a user