Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Direct3D11, Direct2D interop

141 views
Skip to first unread message

Hexadecimal

unread,
Sep 19, 2009, 9:46:01 PM9/19/09
to
I'm porting a D3D10 application to D3D11 and everything works great
except for my D2D code.

Here is what I am currently trying:

1) Create a D3D11 and D3D10.1 device
2) Query buffer 0 out of the D3D11 swap chain as an IDXGISurface
3) Call GetSharedHandle on the surface
...

Step 3 is failing with error DXGI_ERROR_NOT_FOUND. I made sure to use
the DXGI_USAGE_SHARED flag when creating my swap chain. Am I missing
a step?

Thanks,
Seth

Hexadecimal

unread,
Sep 26, 2009, 11:39:17 PM9/26/09
to
OK, from what I've read it seems it isn't possible to share the
backbuffer. This is a huge limitation for me (and I would imagine
others as well) as I can't really render my d2d content into a
separate texture and just blend it onto the screen, since I need to
overlap things in a certain way.

Hopefully there will be a d2d1 soon which is compatible with d3d11.

Richard [Microsoft Direct3D MVP]

unread,
Sep 28, 2009, 4:09:15 PM9/28/09
to
[Please do not mail me a copy of your followup]

Why do you need the shared handle for D2D interop?

I thought you just needed the IDXGISurface interface?
--
"The Direct3D Graphics Pipeline" -- DirectX 9 draft available for download
<http://legalizeadulthood.wordpress.com/the-direct3d-graphics-pipeline/>

Legalize Adulthood! <http://legalizeadulthood.wordpress.com>

Hexadecimal

unread,
Sep 28, 2009, 7:27:17 PM9/28/09
to
On Sep 28, 3:09 pm, legalize+jee...@mail.xmission.com (Richard

That's what I thought at first as well, but the
CreateDxgiSurfaceRenderTarget call fails on the D3D11 IDXGISurface I
am providing it.

Although not ideal, I am going to render what I can into a shared
texture and blend the texture onto my backbuffer as a temporary
workaround.

Thanks,
Seth

Richard [Microsoft Direct3D MVP]

unread,
Sep 29, 2009, 7:06:20 PM9/29/09
to
[Please do not mail me a copy of your followup]

Hexadecimal <hex...@gmail.com> spake the secret code
<16c13218-5ec7-42da...@l2g2000yqd.googlegroups.com> thusly:

>That's what I thought at first as well, but the
>CreateDxgiSurfaceRenderTarget call fails on the D3D11 IDXGISurface I
>am providing it.

What does the debug layer say on your D3D11 device? Anything?

I get the impression that D2D is designed to work with D3D10. They
don't mention anything about D3D11 in the docs. Have you tried filing
a bug on connect.microsoft.com?

0 new messages