cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

roger1
Journeyman III

CrossFire, transfer texture after ID3D11DeviceContext->Unmap

Hi,

In my application I have the following sequence :

  • Frame1: Function ID3D11DeviceContext->Map is used to get texture pointer.
  • Somewhere in between two frames: Texture is filled with data, using pointer from Frame1.
  • Frame2: ID3D11DeviceContext->Unmap is called and the texture is used.

It works fine, but not on CrossFire(AFR Friendly), because texture appears inside GPU1 memory(I think) and the application needs it inside GPU2 memory.

Is it possible to transfer texture to GPU2 after deviceContext->Unmap ?

If yes, where do I place functions ?

agsDriverExtensionsDX11_NotifyResourceBeginAllAccess

agsDriverExtensionsDX11_NotifyResourceEndWrites

agsDriverExtensionsDX11_NotifyResourceEndAllAccess

0 Likes
1 Reply
cgrant78
Adept III

How are you coming to the conclusion that the texture is available on only GPU1 ? .Crossfire is not that different that SLI and the resource needs to be available on either device in order to be used. AFAIK one does not manually manage resource at the level you are thinking, thats work for the driver to do. Since you are not addressing individual GPU when you are writing the code to utilize Crossfire, the behavior should be seamless to the application.

"It works fine, but not on CrossFire(AFR Friendly), because texture appears inside GPU1 memory(I think) and the application needs it inside GPU2 memory"

What exactly does that mean ?

0 Likes