Image output to a secondary graphic card

Hi all,
I get image inputs from a capture card, then do several image processing with GTX285, then display it with the same adapter.
After that, I was needed to change the refresh rate of the image up to 120Hz, by performing a motion compensated image processing with GTX285, and display it. But found GTX285 is not capable of making refresh rate higher than 60Hz.
So got an additional ATI graphic card which can display more than 60Hz.

My first question is, how can I best output the GTX285 processed image to ATI graphic card?
From some of CUDA forum I found that it’s possible to set the GPU for caculation only then the other graphic card for displaying.
Does anyone have detailed info on how to do that?

Second question, When I changed the code just to copy the GTX285 texture to ATI texture for test purspose without changing refresh rate, the ATI monitor shows only 3 frames of image then freezes.
What’s the possible cause of current image freeze?
The memory copy part of the code is as below.


err = g_texture_2d.pTexture->LockRect( 0, &LockedRect, NULL, D3DLOCK_READONLY );
err = g_texture_2d_ATI.pTexture->LockRect( 0, &LockedRect_Diamond, NULL, D3DLOCK_DISCARD);
UCHAR* pSrc = (UCHAR*)(LockedRect.pBits);
UCHAR* pDst = (UCHAR*)(LockedRect_Diamond.pBits);

memcpy( pDst, pSrc, LockedRect_ATI.Pitch * 1080);

//g_texture_2d.pTexture->UnlockRect(0);
//g_texture_2d_ATI.pTexture->UnlockRect(0);

Please help~

The GeForce GTX 285 certainly can refresh at more than 60Hz, assuming your display supports this (many LCD monitors are limited to 60Hz).

It’s hard to tell what the problem is with your code without seeing the complete app, but I would recommend just copying the data back to the CPU rather than locking textures.