Is there any way to ‘cudaD3D9RegisterResource’ d3d9 INDEX buffer ?
for vertex buffers all is fine, but for index buffers calling
always ends with:
First-chance exception at 0x7789649d in RayCaster.exe: Microsoft C++ exception: cudaError_enum at memory location 0x0029f264…
Index buffer is in POOL_DEFAULT and have format D3DFMT_INDEX16
When moved to POOL_MANAGED, VC triggers breakpoint and tells:
HEAP[RayCaster.exe]: HEAP: Free Heap block 3e8cf60 modified at 3e8d04c after it was freed
The index buffer is 100% ok, because all rendering on screen from it is correct every frame. I just need to read indices from this buffer (map it with cudaD3D9MapFlagsReadOnly).
Now i need to allocate memory using cudaAlloc, then lock index buffer,
then do cudaMemcpy(cudaMalloc_allocated_memory, pointer_returned_by_lock, HostToDevice) and all is fine.
The interop between indexbuffer and cuda is broken for dx9 ?