Jump to content

  • Log In with Google      Sign In   
  • Create Account


OpenSharedResource renders black


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
No replies to this topic

#1 allbabel   Members   -  Reputation: 124

Like
0Likes
Like

Posted 15 July 2012 - 08:22 AM

I am a newbie to DirectX and I have a problem with OpenSharedResource.

I am aquiring a handle to a shared resource from one process and wanting to display this same resource in a secondary process.

In the secondary process I get a texture handle to the shared resource:

_d3dDevice->OpenSharedResource( _sharedHandle, __uuidof(ID3D10Texture2D), (LPVOID*) &_sharedTexture );

I then copy this resource to my back buffer, pBuffer:

HRESULT hr = _sharedTexture->QueryInterface( __uuidof( ID3D10Resource ), ( void** )&pSrcResource );

if ( FAILED( hr ) )
  return hr;

D3D10_TEXTURE2D_DESC desc;
ZeroMemory( &desc, sizeof(desc) );
_sharedTexture->GetDesc( &desc );

_d3dDevice->CopySubresourceRegion( pBuffer, 0, 0, 0, 0, pSrcResource, 0, 0 );

What I get is a black square drawn to my window. If I check the D3D10_TEXTURE2D_DESC I can see I have the correct dimensions etc but what appears on the screen seems to be a null texture.

Any ideas where I am going wrong? Is there something I need to do to the shared resource before I call CopySubresourceRegion? Should I be using a different technique to get at the shared resource?

Thanks in advance, Andy

Sponsor:



Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS