cudaGraphicsGLRegisterBuffer

As i already mentioned here, cudaGraphicsGLRegisterBuffer fails after a certain number of calls with cudaErrorMemoryAllocation.

So i tried and tested around a bit:

    [*]every cudaGraphicsGLRegisterBuffer takes (at least) 4KB of device memory…i guess thats the page size.

    [*]the function allocates at least as much memory as needed for the Data in the VBO

The Question is:

    [*]why does this function actually allocate anything? Isn’t the idea to get the pointer of an EXISTING buffer?

    [*]What’s happening inside? And in case the VBO gets copied: why does it actually has to be mapped?

    []In case the (unconsidered) memory allocation causes the cudaErrorMemoryAllocation: why does it fail after ~3600 VBOs? That are only 4KB3600=14MB?

I don’t think that just cudaMapResources copies the memory, since it’s to fast for that.

I woudn’t mind to get some binding answer from someone who really knows instead of guessing External Image THANKS!