supertuxkart / stk-code

The code base of supertuxkart
Other
4.44k stars 1.04k forks source link

Vulkan support #4275

Open programmerjake opened 4 years ago

programmerjake commented 4 years ago

Having Vulkan support would be nice -- it's the future of 3D graphics APIs.

Figured I should submit this issue so we can start thinking about Vulkan well in advance.

somewhat offtopic: I'm the main author of the Vulkan driver for a new completely open-source GPU I'm helping build -- it won't initially have a OpenGL driver, relying on OpenGL to Vulkan translation instead.

Benau commented 4 years ago

maybe,,,, but i'm not in favour to put discussion in github

it may be done sooner or later depend on benau mood

you don't mind discuss in discord?

programmerjake commented 4 years ago

maybe,,,, but i'm not in favour to put discussion in github

it may be done sooner or later depend on benau mood

I'm not expecting this to happen right away, just eventually, if supertuxkart decides it's a good idea. Plenty of other stuff is higher priority.

you don't mind discuss in discord?

I think github is probably better since that allows other people to see what happened and what the plan is. Messages that don't really matter anymore can be hidden. Discord is only good for discussions where it doesn't really matter if the messages are lost since it's very hard to find old discussions on discord.

Also, I have notifications turned off for supertuxkart on discord and am rarely on there, so don't notice unless mentioned @programmerjake.

Benau commented 4 years ago

benau interacts with fans by going inside stk lobby or discord or irc...

programmerjake commented 4 years ago

What I meant is that GitHub is where the technical details are written down of what architectural changes in the source code need to be made and whatever decisions are made so whoever ends up implementing the Vulkan renderer can read all of them without having to do something like ask you or someone else to try and recall all the important parts of a conversation that happened several months before. That way, we can avoid missing critical information even if whoever originally mentioned it forgot it later.

programmerjake commented 4 years ago

hopefully that makes sense

programmerjake commented 4 years ago

It might be worthwhile to build support on top of wgpu, since that supports Vulkan, DX11, DX12, Metal, and OpenGL (WIP). wgpu is the implementation of WebGPU used in Firefox. Additionally, that might allow eventually having a web browser version of supertuxkart, by using webassembly and webgpu.

deveee commented 4 years ago

I think that the forum is much better place for such discussions: https://forum.freegamedev.net/viewforum.php?f=16

programmerjake commented 4 years ago

@deveee I was hoping this issue could stay open till either Vulkan support was added or supertuxkart decided that supporting Vulkan is not a good idea. I acknowledge that most of the discussion so far has been offtopic, hence why I hid my offtopic comments.

Please reopen this issue

Alayan-stk-2 commented 4 years ago

I actually think that a Github issue is the best place to track this. Discussions between involved people can also happen at other places, but a github issue acts like a central place to discuss and reference a programming task.

Considering that Benau has repeatedly said he'd like to have Vulkan support at some later date, this topic crosses from "fan suggestion" that may belong in the forum to "future roadmap item".

deveee commented 4 years ago

Tbh. everyone knows that vulkan support would be nice to have. So unless someone is going to make some real work, this issue is kinda useless...

programmerjake commented 4 years ago

Tbh. everyone knows that vulkan support would be nice to have. So unless someone is going to make some real work, this issue is kinda useless...

it is useful for collecting stuff needed for a future Vulkan backend all in one place.

I can't commit right now due to being busy with Libre-SOC, but I am willing to help implement this in the future.

Benau commented 3 years ago

initial work is here https://github.com/Benau/stk-code/commit/17d26338f8ec19784b9a73b285b6b0f7cc7e1dd1

If it works for auria it will be merged later

and i have no intention to spam everyone here for every discussion, reach benau in irc instead

Alayan-stk-2 commented 3 months ago

Without the advanced renderer, the Vulkan renderer is rather pointless, so this is not really done.