You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Initial groundwork for a low level api
## Motivation
The next gen APIs (Vulkan and D3D12) offer an low level interface of the GPU in comparison to older APIs like OpenGL or D3D11. To avoid overhead due to high level abstraction we want to investigate the implementation of a thin wrapper above the mentioned low level APIs to address #1102.
## Goals
This PR creates a new low level core API `corell` and two backend implementations for the low level core. corell is heavily based on the vulkan API and shares a lot of concepts like `Instance`, `Surface`, etc., but tries to also take d3d12 into account. In future steps further abstractions could be considered to reduce the amount of setup code.
Planned coverage for this PR:
- [x] Instance/Context
- [x] Surface
- [x] Swapchain
- [x] PhysicalDevice
Note: Also includes some dummy types for other objects.
`format` and `memory` are mainly copied from `core`.
Hoping for early feedback if this is the intended way to go with regards to #1102.
cc @MaikKlein for quick checking ash based vulkan implementation if you have time 😄
0 commit comments