X-Git-Url: http://git.euphorik.ch/index.cgi?a=blobdiff_plain;f=WCudaMSE%2FAPI_Bilat_Image_GL_Cuda%2FINC%2Fgpu%2FCudaInteropTools.h;fp=WCudaMSE%2FAPI_Bilat_Image_GL_Cuda%2FINC%2Fgpu%2FCudaInteropTools.h;h=7e9dceebd8e6809f17a686255b371f5b5135063c;hb=8d08c12b29c2a14684f35c023ee39e694bb80d25;hp=0000000000000000000000000000000000000000;hpb=226de81f7e1f1fbf4ac79d0d089e8a05ec7159a0;p=GPU.git diff --git a/WCudaMSE/API_Bilat_Image_GL_Cuda/INC/gpu/CudaInteropTools.h b/WCudaMSE/API_Bilat_Image_GL_Cuda/INC/gpu/CudaInteropTools.h new file mode 100755 index 0000000..7e9dcee --- /dev/null +++ b/WCudaMSE/API_Bilat_Image_GL_Cuda/INC/gpu/CudaInteropTools.h @@ -0,0 +1,47 @@ +#ifndef CUDA_INTEROP_TOOLS_H +#define CUDA_INTEROP_TOOLS_H + +//#include "GLImageCudas.h" //include ImageCudas +#include "envGLImageCudas.h" +#ifdef _WIN32 +#include +#else +#include +#endif + +#include "cuda.h" +#include "cuda_gl_interop.h" //link between GL and Cuda +/*----------------------------------------------------------------------*\ + |* Declaration *| + \*---------------------------------------------------------------------*/ + +CBI_GLIMAGE_CUDA void initCudaForGLInterop(int deviceId = 0); + +/** + * stream avec lequelle il synchronise + */ +CBI_GLIMAGE_CUDA cudaGraphicsResource* linkWithCuda(GLuint pboID, cudaStream_t stream = 0); + +/** + * stream avec lequelle il synchronise + */ +CBI_GLIMAGE_CUDA void unLinkWithCuda(cudaGraphicsResource* cudaRessource); + +/* + * Get Pixels from device to use with Cuda ! + */ +CBI_GLIMAGE_CUDA void mapDevicePixels(cudaGraphicsResource* cudaRessource, uchar4** devPixels, size_t* size, cudaStream_t stream = 0); + +/** + * Tell to cuda that we finish with pixels + */ +CBI_GLIMAGE_CUDA void unMapDevicePixels(cudaGraphicsResource *cudaRessource, cudaStream_t stream = 0); + +CBI_GLIMAGE_CUDA void resetDevicePixel(cudaGraphicsResource* cudaRessource, cudaStream_t stream = 0); + +#endif + +/*----------------------------------------------------------------------*\ + |* End *| + \*---------------------------------------------------------------------*/ +