35#ifndef itkGPUDataManager_h
36#define itkGPUDataManager_h
39#include "itkDataObject.h"
40#include "itkObjectFactory.h"
120 return m_IsCPUBufferDirty;
126 return m_IsGPUBufferDirty;
164 this->m_CPUBufferLock = v;
166 itkGetConstReferenceMacro(CPUBufferLock,
bool);
172 this->m_GPUBufferLock = v;
174 itkGetConstReferenceMacro(GPUBufferLock,
bool);
180 PrintSelf(std::ostream & os, Indent indent)
const override;
GPU memory manager implemented using OpenCL. Required by GPUImage class.
void SetCPUBufferLock(const bool v)
void SetBufferSize(unsigned int num)
void SetCPUBufferPointer(void *ptr)
void SetGPUBufferLock(const bool v)
SmartPointer< const Self > ConstPointer
OpenCLContext * m_Context
ITK_DISALLOW_COPY_AND_MOVE(GPUDataManager)
virtual void UpdateGPUBuffer()
virtual void Initialize()
void * GetCPUBufferPointer()
unsigned int GetBufferSize()
void PrintSelf(std::ostream &os, Indent indent) const override
virtual void Graft(const GPUDataManager *data)
cl_mem * GetGPUBufferPointer()
void SetCPUDirtyFlag(bool isDirty)
virtual void UpdateCPUBuffer()
void SetBufferFlag(cl_mem_flags flags)
void SetGPUDirtyFlag(bool isDirty)
~GPUDataManager() override
std::lock_guard< std::mutex > MutexHolderType
unsigned int m_BufferSize
The OpenCLContext class represents an OpenCL context.
OpenCL kernel manager implemented using OpenCL.