25#ifndef OPENSUBDIV3_OSD_CUDA_PATCH_TABLE_H
26#define OPENSUBDIV3_OSD_CUDA_PATCH_TABLE_H
28#include "../version.h"
30#include "../osd/nonCopyable.h"
31#include "../osd/types.h"
36namespace OPENSUBDIV_VERSION {
55 void *deviceContext = NULL);
115using namespace OPENSUBDIV_VERSION;
Container for arrays of parametric patches.
void * GetFVarPatchArrayBuffer(int fvarChannel) const
Returns the cuda memory of the array of Osd::PatchArray buffer.
std::vector< void * > _fvarParamBuffers
static CudaPatchTable * Create(Far::PatchTable const *patchTable, void *deviceContext=NULL)
Creator. Returns NULL if error.
void * _varyingPatchArrays
void * GetVaryingPatchIndexBuffer() const
Returns the cuda memory of the array of varying control vertices.
std::vector< void * > _fvarIndexBuffers
void * GetVaryingPatchArrayBuffer() const
Returns the cuda memory of the array of Osd::PatchArray buffer.
void * _varyingIndexBuffer
~CudaPatchTable()
Destructor.
void * GetPatchArrayBuffer() const
Returns the cuda memory of the array of Osd::PatchArray buffer.
std::vector< void * > _fvarPatchArrays
bool allocate(Far::PatchTable const *patchTable)
void * GetPatchIndexBuffer() const
Returns the cuda memory of the patch control vertices.
int GetNumFVarChannels() const
Returns the number of face-varying channels buffers.
void * GetPatchParamBuffer() const
Returns the cuda memory of the array of Osd::PatchParam buffer.
void * GetFVarPatchIndexBuffer(int fvarChannel=0) const
Returns the cuda memory of the array of face-varying control vertices.
void * GetFVarPatchParamBuffer(int fvarChannel=0) const
Returns the cuda memory of the array of face-varying param.