66     void            wrapGL              (GLuint glBuffer);
 
   72     void            setHintsAndAlign    (
U32 hints, 
int align)                  { realloc(m_size, validateHints(hints, align, m_original), align); }
 
   76     void            reset               (
U32 hints, 
int align)                  { deinit(); init(0, hints, align); }
 
  124     static void     memcpyHtoD          (CUdeviceptr dst, 
const void* src, 
S64 size, 
bool async = 
false, CUstream cudaStream = 
NULL) { memcpyXtoX(
NULL, dst, src, 
NULL, size, async, cudaStream); }
 
  125     static void     memcpyDtoH          (
void* dst, CUdeviceptr src, 
S64 size, 
bool async = 
false, CUstream cudaStream = 
NULL) { memcpyXtoX(dst, 
NULL, 
NULL, src, size, async, cudaStream); }
 
  126     static void     memcpyDtoD          (CUdeviceptr dst, CUdeviceptr src, 
S64 size, 
bool async = 
false, CUstream cudaStream = 
NULL) { memcpyXtoX(
NULL, dst, 
NULL, src, size, async, cudaStream); }
 
  129     static U32      validateHints       (
U32 hints, 
int align, 
Module original);
 
  134     void            realloc             (
S64 size, 
U32 hints, 
int align);
 
  135     void            validateCPU         (
bool async, CUstream cudaStream, 
S64 validSize);
 
  137     static void     cpuAlloc            (
U8*& cpuPtr, 
U8*& cpuBase, 
S64 size, 
U32 hints, 
int align);
 
  138     static void     cpuFree             (
U8*& cpuPtr, 
U8*& cpuBase, 
U32 hints);
 
  139     static void     glAlloc             (GLuint& glBuffer, 
S64 size, 
const void* 
data);
 
  140     static void     glFree              (GLuint& glBuffer, 
bool& cudaGLReg);
 
  141     static void     cudaAlloc           (CUdeviceptr& cudaPtr, CUdeviceptr& cudaBase, 
bool& cudaGLReg, 
S64 size, GLuint glBuffer, 
U32 hints, 
int align);
 
  142     static void     cudaFree            (CUdeviceptr& cudaPtr, CUdeviceptr& cudaBase, GLuint glBuffer, 
U32 hints);
 
  144     static void     checkSize           (
S64 size, 
int bits, 
const String& funcName);
 
  160     CUdeviceptr     m_cudaPtr;
 
  161     CUdeviceptr     m_cudaBase;
 
CUdevice int ordinal char int CUdevice dev CUdevprop CUdevice dev CUcontext ctx CUcontext ctx CUcontext pctx CUmodule const void image CUmodule const void fatCubin CUfunction CUmodule const char name void p CUfunction unsigned int bytes CUtexref pTexRef CUtexref CUarray unsigned int Flags CUtexref int CUaddress_mode am CUtexref unsigned int Flags CUaddress_mode CUtexref int dim CUarray_format int CUtexref hTexRef CUfunction unsigned int numbytes CUfunction int float value CUfunction int CUtexref hTexRef CUfunction int int grid_height CUevent unsigned int Flags CUevent hEvent CUevent hEvent CUstream unsigned int Flags CUstream hStream GLuint bufferobj unsigned int CUdevice dev CUdeviceptr unsigned int CUmodule const char name CUdeviceptr unsigned int bytesize CUdeviceptr dptr void unsigned int bytesize void CUdeviceptr unsigned int ByteCount CUarray unsigned int CUdeviceptr unsigned int ByteCount CUarray unsigned int const void unsigned int ByteCount CUarray unsigned int CUarray unsigned int unsigned int ByteCount void CUarray unsigned int unsigned int CUstream hStream const CUDA_MEMCPY2D pCopy CUdeviceptr const void * srcHost
 
void set(const void *ptr)
 
void setRange(S64 dstOfs, const void *src, S64 size, bool async=false, CUstream cudaStream=NULL)
 
GLuint getMutableGLBuffer(void)
 
Buffer(const Array< T > &data, U32 hints=Hint_None, int align=1)
 
Buffer(const Array< T > &data, int start, int end, U32 hints=Hint_None, int align=1)
 
void reset(const void *ptr, S64 size)
 
virtual void writeToStream(OutputStream &s) const 
 
CUdevice int ordinal char int CUdevice dev CUdevprop CUdevice dev CUcontext ctx CUcontext ctx CUcontext pctx CUmodule const void image CUmodule const void fatCubin CUfunction CUmodule const char name void p CUfunction unsigned int bytes CUtexref pTexRef CUtexref CUarray unsigned int Flags CUtexref int CUaddress_mode am CUtexref unsigned int Flags CUaddress_mode CUtexref int dim CUarray_format int CUtexref hTexRef CUfunction unsigned int numbytes CUfunction int float value CUfunction int CUtexref hTexRef CUfunction int int grid_height CUevent unsigned int Flags CUevent hEvent CUevent hEvent CUstream unsigned int Flags CUstream hStream GLuint bufferobj unsigned int CUdevice dev CUdeviceptr unsigned int CUmodule const char name CUdeviceptr unsigned int bytesize CUdeviceptr dptr void unsigned int bytesize void CUdeviceptr unsigned int ByteCount CUarray unsigned int CUdeviceptr unsigned int ByteCount CUarray unsigned int const void unsigned int ByteCount CUarray unsigned int CUarray unsigned int unsigned int ByteCount void CUarray unsigned int unsigned int CUstream hStream const CUDA_MEMCPY2D pCopy CUdeviceptr dstDevice
 
void reset(const void *ptr, S64 size, U32 hints)
 
CUdevice int ordinal char int CUdevice dev CUdevprop CUdevice dev CUcontext ctx CUcontext ctx CUcontext pctx CUmodule * module
 
CUdevice int ordinal char int CUdevice dev CUdevprop CUdevice dev CUcontext ctx CUcontext ctx CUcontext pctx CUmodule const void image CUmodule const void fatCubin CUfunction CUmodule const char name void p CUfunction unsigned int bytes CUtexref pTexRef CUtexref CUarray unsigned int Flags CUtexref int CUaddress_mode am CUtexref unsigned int Flags CUaddress_mode CUtexref int dim CUarray_format int CUtexref hTexRef CUfunction unsigned int numbytes CUfunction int float value CUfunction int CUtexref hTexRef CUfunction int int grid_height CUevent unsigned int Flags CUevent hEvent CUevent hEvent CUstream unsigned int Flags CUstream hStream GLuint bufferobj unsigned int CUdevice dev CUdeviceptr unsigned int CUmodule const char name CUdeviceptr unsigned int bytesize CUdeviceptr dptr void unsigned int bytesize void * dstHost
 
CUdevice int ordinal char int CUdevice dev CUdevprop CUdevice dev CUcontext ctx CUcontext ctx CUcontext pctx CUmodule const void image CUmodule const void fatCubin CUfunction CUmodule const char name void p CUfunction unsigned int bytes CUtexref pTexRef CUtexref CUarray unsigned int Flags CUtexref int CUaddress_mode am CUtexref unsigned int Flags CUaddress_mode CUtexref int dim CUarray_format int CUtexref hTexRef CUfunction unsigned int numbytes CUfunction int float value CUfunction int CUtexref hTexRef CUfunction int int grid_height CUevent unsigned int Flags CUevent hEvent CUevent hEvent CUstream unsigned int Flags CUstream hStream GLuint bufferobj unsigned int CUdevice dev CUdeviceptr unsigned int CUmodule const char name CUdeviceptr unsigned int bytesize CUdeviceptr dptr void unsigned int bytesize void CUdeviceptr unsigned int ByteCount CUarray unsigned int CUdeviceptr unsigned int ByteCount CUarray unsigned int const void unsigned int ByteCount CUarray unsigned int CUarray unsigned int unsigned int ByteCount void CUarray unsigned int unsigned int CUstream hStream const CUDA_MEMCPY2D pCopy CUdeviceptr const void unsigned int CUstream hStream const CUDA_MEMCPY2D CUstream hStream CUdeviceptr unsigned char unsigned int N CUdeviceptr unsigned int unsigned int N CUdeviceptr unsigned int unsigned short unsigned int unsigned int Height CUarray const CUDA_ARRAY_DESCRIPTOR pAllocateArray CUarray const CUDA_ARRAY3D_DESCRIPTOR pAllocateArray unsigned int CUtexref CUdeviceptr unsigned int bytes CUcontext unsigned int CUdevice device GLenum texture GLenum GLuint buffer GLenum GLuint renderbuffer GLenum GLsizeiptr const GLvoid * data
 
U8 * getMutablePtrDiscard(S64 ofs=0)
 
void wrapCuda(CUdeviceptr cudaPtr, S64 size)
 
virtual void readFromStream(InputStream &s)
 
CUdeviceptr getCudaPtr(S64 ofs=0)
 
void set(const Array< T > &data)
 
const U8 * getPtr(S64 ofs=0)
 
void setOwner(Module module, bool modify, bool async=false, CUstream cudaStream=NULL, S64 validSize=-1)
 
void set(const Array< T > &data, int start, int end)
 
S32 getNumBytes(void) const
 
void reset(const void *ptr, S64 size, U32 hints, int align)
 
void wrapCPU(void *cpuPtr, S64 size)
 
Buffer(U32 hints=Hint_None)
 
static void memcpyHtoD(CUdeviceptr dst, const void *src, S64 size, bool async=false, CUstream cudaStream=NULL)
 
CUdeviceptr getMutableCudaPtr(S64 ofs=0)
 
U8 * getMutablePtr(S64 ofs=0)
 
void set(const void *ptr, S64 size)
 
void getRange(void *dst, S64 srcOfs, S64 size, bool async=false, CUstream cudaStream=NULL) const 
 
void wrapGL(GLuint glBuffer)
 
static void memcpyDtoD(CUdeviceptr dst, CUdeviceptr src, S64 size, bool async=false, CUstream cudaStream=NULL)
 
void clearRange(S64 dstOfs, int value, S64 size, bool async=false, CUstream cudaStream=NULL)
 
CUdevice int ordinal char int CUdevice dev CUdevprop CUdevice dev CUcontext ctx CUcontext ctx CUcontext pctx CUmodule const void image CUmodule const void fatCubin CUfunction CUmodule const char name void p CUfunction unsigned int bytes CUtexref pTexRef CUtexref CUarray unsigned int Flags CUtexref int CUaddress_mode am CUtexref unsigned int Flags CUaddress_mode CUtexref int dim CUarray_format int CUtexref hTexRef CUfunction unsigned int numbytes CUfunction int float value
 
Module getOwner(void) const 
 
GLuint getMutableGLBufferDiscard(void)
 
static void memcpyDtoH(void *dst, CUdeviceptr src, S64 size, bool async=false, CUstream cudaStream=NULL)
 
CUdevice int ordinal char int CUdevice dev CUdevprop CUdevice dev CUcontext ctx CUcontext ctx CUcontext pctx CUmodule const void image CUmodule const void fatCubin CUfunction CUmodule const char name void p CUfunction unsigned int bytes CUtexref pTexRef CUtexref CUarray unsigned int Flags CUtexref int CUaddress_mode am CUtexref unsigned int Flags CUaddress_mode CUtexref int dim CUarray_format int CUtexref hTexRef CUfunction unsigned int numbytes CUfunction int float value CUfunction int CUtexref hTexRef CUfunction int int grid_height CUevent unsigned int Flags CUevent hEvent CUevent hEvent CUstream unsigned int Flags CUstream hStream GLuint bufferobj unsigned int CUdevice dev CUdeviceptr unsigned int CUmodule const char name CUdeviceptr unsigned int bytesize CUdeviceptr dptr void unsigned int bytesize void CUdeviceptr srcDevice
 
Buffer & operator=(Buffer &other)
 
void setHintsAndAlign(U32 hints, int align)
 
const T * getPtr(S32idx=0) const
 
void resizeDiscard(S64 size)
 
CUdevice int ordinal char int CUdevice dev CUdevprop CUdevice dev CUcontext ctx CUcontext ctx CUcontext pctx CUmodule const void image CUmodule const void fatCubin CUfunction CUmodule const char name void p CUfunction unsigned int bytes CUtexref pTexRef CUtexref CUarray unsigned int Flags CUtexref int CUaddress_mode am CUtexref unsigned int Flags CUaddress_mode CUtexref int dim CUarray_format int CUtexref hTexRef CUfunction unsigned int numbytes CUfunction int float value CUfunction int CUtexref hTexRef CUfunction int int grid_height CUevent unsigned int Flags CUevent hEvent CUevent hEvent CUstream unsigned int Flags CUstream hStream GLuint bufferobj unsigned int CUdevice dev CUdeviceptr unsigned int CUmodule const char name CUdeviceptr unsigned int bytesize CUdeviceptr dptr void unsigned int bytesize void CUdeviceptr unsigned int ByteCount CUarray unsigned int CUdeviceptr unsigned int ByteCount CUarray unsigned int const void unsigned int ByteCount CUarray unsigned int CUarray unsigned int unsigned int ByteCount void CUarray unsigned int unsigned int CUstream hStream const CUDA_MEMCPY2D pCopy CUdeviceptr const void unsigned int CUstream hStream const CUDA_MEMCPY2D CUstream hStream CUdeviceptr unsigned char unsigned int N CUdeviceptr unsigned int unsigned int N CUdeviceptr unsigned int unsigned short unsigned int unsigned int Height CUarray const CUDA_ARRAY_DESCRIPTOR pAllocateArray CUarray const CUDA_ARRAY3D_DESCRIPTOR pAllocateArray unsigned int CUtexref CUdeviceptr unsigned int bytes CUcontext unsigned int CUdevice device GLenum texture GLenum GLuint buffer GLenum GLuint renderbuffer GLenum GLsizeiptr size
 
void reset(U32 hints, int align)
 
CUdeviceptr getMutableCudaPtrDiscard(S64 ofs=0)
 
Buffer(const void *ptr, S64 size, U32 hints=Hint_None, int align=1)