25 #ifndef OPENSUBDIV3_OSD_CL_VERTEX_BUFFER_H
26 #define OPENSUBDIV3_OSD_CL_VERTEX_BUFFER_H
28 #include "../version.h"
29 #include "../osd/opencl.h"
32 namespace OPENSUBDIV_VERSION {
48 template <
typename DEVICE_CONTEXT>
50 DEVICE_CONTEXT context) {
51 return Create(numElements, numVertices, context->GetContext());
59 void UpdateData(
const float *src,
int startVertex,
int numVertices, cl_command_queue clQueue,
60 cl_event* startEvents = NULL,
unsigned int numStartEvents = 0, cl_event* endEvent = NULL);
62 template<
typename DEVICE_CONTEXT>
63 void UpdateData(
const float *src,
int startVertex,
int numVertices,
64 DEVICE_CONTEXT context,
65 cl_event* startEvents = NULL,
unsigned int numStartEvents = 0, cl_event* endEvent = NULL) {
66 UpdateData(src, startVertex, numVertices, context->GetCommandQueue(), startEvents, numStartEvents, endEvent);
80 CLVertexBuffer(
int numElements,
int numVertices, cl_context clContext);
95 using namespace OPENSUBDIV_VERSION;
99 #endif // OPENSUBDIV3_OSD_CL_VERTEX_BUFFER_H