25 #ifndef OPENSUBDIV3_OSD_CL_PATCH_TABLE_H
26 #define OPENSUBDIV3_OSD_CL_PATCH_TABLE_H
28 #include "../version.h"
30 #include "../osd/opencl.h"
31 #include "../osd/nonCopyable.h"
32 #include "../osd/types.h"
35 namespace OPENSUBDIV_VERSION {
54 cl_context clContext);
56 template <
typename DEVICE_CONTEXT>
58 DEVICE_CONTEXT context) {
59 return Create(patchTable, context->GetContext());
87 using namespace OPENSUBDIV_VERSION;
91 #endif // OPENSUBDIV3_OSD_CL_PATCH_TABLE_H
cl_mem GetPatchIndexBuffer() const
Returns the CL memory of the patch control vertices.
bool allocate(Far::PatchTable const *patchTable, cl_context clContext)
cl_mem GetPatchArrayBuffer() const
Returns the CL memory of the array of Osd::PatchArray buffer.
~CLPatchTable()
Destructor.
static CLPatchTable * Create(Far::PatchTable const *patchTable, cl_context clContext)
Creator. Returns NULL if error.
Container for arrays of parametric patches.
cl_mem GetPatchParamBuffer() const
Returns the CL memory of the array of Osd::PatchParam buffer.
static CLPatchTable * Create(Far::PatchTable const *patchTable, DEVICE_CONTEXT context)