Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Check for NV_DX_interop extension available and fallback mode #109

Open
marcotod1410 opened this issue May 11, 2023 · 1 comment
Open

Check for NV_DX_interop extension available and fallback mode #109

marcotod1410 opened this issue May 11, 2023 · 1 comment
Labels
4.0 enhancement New feature or request
Milestone

Comments

@marcotod1410
Copy link
Contributor

At this current time, this control only works if the NV_DX_interop is supported. If the extension is not supported, an AccessViolationException is thrown. This happened to me on a virtual machine where 3D acceleration was enabled via a virtual Mesa graphics card.

I've got the following questions:

  • Should we check for the NV_DX_interop extension support before creating the DXGLContext? If so, should we expose a dependency property and/or an event when the initialization fails? Doing so, the control could notify the user about the issue, so that the error can be handled correctly by the application.
  • If the extension is not supported, should the library provide a fallback mode for rendering? I was thinking also about the rendering mode used before the NV_DX_interop way was introduced (rendering to an hidden window, then copying the buffer to a WriteableBitmap).
@NogginBops NogginBops added enhancement New feature or request 4.0 labels May 11, 2023
@NogginBops NogginBops added this to the 4.3.0 milestone May 11, 2023
@NogginBops
Copy link
Member

NogginBops commented May 11, 2023

I think we should fall back (or at least have the option to fall back) to a version that does that CPU roundtrip if interop is not supported.
And making sure the user can query if they got a fast backend or a slow one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
4.0 enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants