I append this code fragment in RegisterD3D9ResourceWithCUDA function of simpleD3D9Texture
IDirect3DTexture9 * texture;
g_pD3DDevice->CreateTexture(640,480,0,D3DUSAGE_RENDERTARGET,D3DFMT_X8R8G8B8,D3DPOOL_
DEFAULT,&texture,NULL);
cudaD3D9RegisterResource(texture,cudaD3D9RegisterFlagsNone);
cutilSafeCallNoSync(cudaD3D9MapResources(1,(IDirect3DResource9 **)&texture));
cutilCheckMsg("cudaD3D9RegisterResource (texture) failed");
cudaD3D9UnmapResources(1,(IDirect3DResource9 **)&texture);
cudaD3D9UnregisterResource(texture);
cudaErrorLaunchFailure will be returned from cutilCheckMsg function when calling cudaThreadSynchronize.
However,I set D3DUSAGE to 0,It works fine.
my desktop system configuration:
System: Intel Core i7, 2GB RAM, WinXP with all latest service packs installed
GPUs: GTX295
CUDA version: CUDA 2.3 release toolkit and SDK
Driver version: 190.38
Compiler: Visual studio 2008
I run the same program on a laptop with GFORCE 8400MGS, It works fine too.
laptop system configuration:
System: Intel Core2 Duo 2GB RAM, WinXP with all latest service packs installed
CUDA version: CUDA 2.2 release toolkit and SDK
Driver version: 185.85
Compiler: Visual studio 2008
The error remains,after I reinstalled the xp system in desktop,and restored the driver to 185.85and cuda2.2.
Is this a driver or hardware bug or I misused something??? Any help will be appreciated.