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

Nabla Slave Middleware Mode #402

Open
devshgraphicsprogramming opened this issue Jul 28, 2022 · 0 comments
Open

Nabla Slave Middleware Mode #402

devshgraphicsprogramming opened this issue Jul 28, 2022 · 0 comments
Labels
enhancement New feature or request

Comments

@devshgraphicsprogramming
Copy link
Member

devshgraphicsprogramming commented Jul 28, 2022

Description

Get that sweet Nabla-as-Middleware solution, where Nabla is made to work with already externally initialized and owned Graphics API objects.

NOTE: We already support the Nabla Master Middleware mode, where Nabla initializes and owns the Graphics API objects which are accessible to external frameworks and engines via getNativeHandle()

Description of the related problem

Grab yourself a context or vulkan instance from Unreal or Godot, then enjoy Imported Buffer and Image galore.

Solution proposal

Just make additional constructors that import VkInstance or an OpenGL context for the IAPIConnection,
and logical device creation which imports a VkDevice or an OpenGL context for all other contexts to share with.

Just like with #398 add some choice whether we destroy the imported handles or not.

Probably need semaphore import functions in the style of #398 and some special stuff for OpenGL to handle the master context sync issues.

Additional context

Needs #379, #387, #390, #395, #396, #398 and possibly #399, #401 merged/resolved.

This does not involve any cross-process/cross-instance memory/semaphore/fence import/export, we're explicitly thinking about sharing the same API Connection and Logical Device (instace/context/device) with another framework in the same process with no special interop.

@devshgraphicsprogramming devshgraphicsprogramming added the enhancement New feature or request label Jul 28, 2022
@devshgraphicsprogramming devshgraphicsprogramming changed the title Nabla Middleware Mode Nabla Slave Middleware Mode Jul 29, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant