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

Vulkan support #7

Open
od0x0 opened this issue Dec 17, 2021 · 1 comment
Open

Vulkan support #7

od0x0 opened this issue Dec 17, 2021 · 1 comment
Labels
deferred enhancement New feature or request
Milestone

Comments

@od0x0
Copy link
Collaborator

od0x0 commented Dec 17, 2021

More of a long-term idea. We should get wgpu fully working first.

Vulkan exposes much more low-level functionality than wgpu and is significantly harder to use safely. As a point of comparison for the value proposition of caiman vs raw wgpu, it would be useful to have a vulkan backend that uses the more direct access while providing the same safety guarantees as wgpu.

Having the backend established would also make it easier to extend to other functionality that is exposed in vulkan but not wgpu (like raytracing pipelines).

@od0x0 od0x0 added the enhancement New feature or request label Dec 17, 2021
@od0x0
Copy link
Collaborator Author

od0x0 commented Jun 13, 2022

A more reasonable middle ground would be wgpu_hal, which has a very similar interface to wgpu. The general issue is that wgpu and caiman, at the lowest level, solve similar problems as far as it relates to usage correctness (dynamically vs statically respectively, though webgpu is additionally designed for security against adversaries) so building on top of wgpu creates some weirdness in that some warts that exist purely to serve the wgpu correctness needs are also manifesting as warts in caiman that would not exist with a lower level API.

@od0x0 od0x0 added this to the Graphics? milestone Aug 25, 2022
@od0x0 od0x0 added the deferred label Aug 25, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
deferred enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant