35#ifndef __itkGPUDataManager_h
36#define __itkGPUDataManager_h
39#include "itkDataObject.h"
40#include "itkObjectFactory.h"
111 return m_IsCPUBufferDirty;
116 return m_IsGPUBufferDirty;
144 itkGetConstReferenceMacro( CPUBufferLock,
bool );
148 itkGetConstReferenceMacro( GPUBufferLock,
bool );
154 void 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)
SmartPointer< const Self > ConstPointer
void SetGPUBufferLock(const bool v)
OpenCLContext * m_Context
virtual void UpdateGPUBuffer()
virtual void Initialize()
void * GetCPUBufferPointer()
unsigned int GetBufferSize()
SmartPointer< Self > Pointer
ITK_DISALLOW_COPY_AND_ASSIGN(GPUDataManager)
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.