summaryrefslogtreecommitdiff
path: root/src/opencl_mesh_kit.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/opencl_mesh_kit.hpp')
-rw-r--r--src/opencl_mesh_kit.hpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/opencl_mesh_kit.hpp b/src/opencl_mesh_kit.hpp
index aa3a013..f99c6c2 100644
--- a/src/opencl_mesh_kit.hpp
+++ b/src/opencl_mesh_kit.hpp
@@ -14,8 +14,14 @@ class OpenCLMeshKit
//RAII is violated but it is really triky to do differently
cl_int initCL(intptr_t gl_display, intptr_t gl_context, intptr_t gl_vbo, size_t meshWidth, size_t meshHeight, size_t groupSize);
cl_int compileKernels(std::list<std::string> names, const char source[], size_t sourceLen);
- cl_int execKernel(std::string kernelName);
+ cl_int execKernel(std::string kernelName, float time);
void releaseKernels();
+
+ size_t getMeshWidth();
+ size_t getMeshHeight();
+ size_t getMeshItemCount();
+ size_t getGroupSize();
+ intptr_t getGLVBO();
void setGroupSize(size_t groupSize);
// Quick and dirty function to initialize a test mesh
@@ -23,6 +29,7 @@ class OpenCLMeshKit
virtual ~OpenCLMeshKit();
+
protected:
size_t meshWidth;
size_t meshHeight;
@@ -33,6 +40,8 @@ class OpenCLMeshKit
cl_command_queue cl_cq;
cl_mem cl_vbo;
+ intptr_t gl_vbo; // Save this pointer for convinence (for data display code)
+
std::map<std::string, cl_kernel> kernels;
};