Render to DX11 texture from separate Vulkan process?

I have a scenario where from a DX11 application I would like to render something into a texture from a completely separate Vulkan process and have that texture display in DX11.

Is this even possible with the Vulkan external memory functionality?

I tried that, and it seems to work.

I think it relies on invalid DirectX usage (DXGI swapchain images should not be shareable?). Though I cannot be sure as DirectX documentation is complete and utter and so are their error validation system…

If you do an image copy, it should definitely work.

I guess I was hoping that I could make a texture in vulkan external memory and render to it from vulkan. Then somehow pass the pointer of that to DX11 and render the texture in DX11 too.

But whats an image copy?

I think you can do both import or export.

The problem is when the image is swapchain, which is “special”. I think Vulkan might let you export swapchain image. On some obscure MS doc page I have seen that DirectX swapchain cannot be created SHARED, but per the above code it seems to work anyway.

But if you just copy your conventional texture into the swapchain, then that is fine. But you obv pay for the extra copy.

This topic was automatically closed 183 days after the last reply. New replies are no longer allowed.