1 #ifndef CUDA_INTEROP_TOOLS_H
2 #define CUDA_INTEROP_TOOLS_H
4 //#include "GLImageCudas.h" //include ImageCudas
5 #include "envGLImageCudas.h"
13 #include "cuda_gl_interop.h" //link between GL and Cuda
14 /*----------------------------------------------------------------------*\
16 \*---------------------------------------------------------------------*/
18 CBI_GLIMAGE_CUDA
void initCudaForGLInterop(int deviceId
= 0);
21 * stream avec lequelle il synchronise
23 CBI_GLIMAGE_CUDA cudaGraphicsResource
* linkWithCuda(GLuint pboID
, cudaStream_t stream
= 0);
26 * stream avec lequelle il synchronise
28 CBI_GLIMAGE_CUDA
void unLinkWithCuda(cudaGraphicsResource
* cudaRessource
);
31 * Get Pixels from device to use with Cuda !
33 CBI_GLIMAGE_CUDA
void mapDevicePixels(cudaGraphicsResource
* cudaRessource
, uchar4
** devPixels
, size_t* size
, cudaStream_t stream
= 0);
36 * Tell to cuda that we finish with pixels
38 CBI_GLIMAGE_CUDA
void unMapDevicePixels(cudaGraphicsResource
*cudaRessource
, cudaStream_t stream
= 0);
40 CBI_GLIMAGE_CUDA
void resetDevicePixel(cudaGraphicsResource
* cudaRessource
, cudaStream_t stream
= 0);
44 /*----------------------------------------------------------------------*\
46 \*---------------------------------------------------------------------*/