-
Notifications
You must be signed in to change notification settings - Fork 188
Open
Labels
engineenhancementa new feature or improvementa new feature or improvementexperimentala feature or idea that will require lots of experimentationa feature or idea that will require lots of experimentationundecideda final decision has not been made whether or how this enhancement should be implementeda final decision has not been made whether or how this enhancement should be implemented
Milestone
Description
While it probably won't make the game any faster since it's not API bound, I think Vulkan does offer some advantages:
- better tooling (there is a GPU profiler from AMD that only works with Vulkan)
- better platform support: with MoltenVK there is apple support. And Vulkan also supports mobile GPUs, which at the moment would require OpenGL ES
- better error detection with validation layers. OpenGL is really inconsistent with errors and warnings, which appear to be driver dependant.
- Vulkan does provide more consistent performance. For example on my intel laptop the OpenGL driver creates a copy of a given buffer when doing glBufferSubData.
- Vulkan is probably more future-proof at this point.
- Vulkan allows for larger buffers (SSBOs can be up to 4GB instead of 2 GB like in OpenGL)
But all that comes at a heavy development cost.
I heard that this guide should be useful: https://vkguide.dev
There is an official documentation now: https://docs.vulkan.org/spec/latest/index.html
Here are some examples, which might be helpful to look at: https://github.com/SaschaWillems/Vulkan/tree/master
Here is a Zig project that I'd like to reference for all the Vulkan infrastructure, since it doesn't use the SDK: https://codeberg.org/ssmid/zeppelin
Prerequisites:
- Update to OpenGL 4.6 with SPIR-V #101 would make porting easier
conformally, CardboardDog, theoparis, RanPix and nonl4331
Metadata
Metadata
Assignees
Labels
engineenhancementa new feature or improvementa new feature or improvementexperimentala feature or idea that will require lots of experimentationa feature or idea that will require lots of experimentationundecideda final decision has not been made whether or how this enhancement should be implementeda final decision has not been made whether or how this enhancement should be implemented