On Sat, Jun 22, 2019 at 12:09:33PM -0600, Thomas Frohwein wrote: > Hi, > > Please find attached a port of vkQuake. It shares many similarities > with games/quakespasm which it is based on; except for the use of > Vulkan as the graphics API. > > There are 2 reasons to add this as yet another quake port: > > 1. Potential performance advantage over quakespasm (I didn't do > performance comparison). > 2. As a test application for vulkan API that is more complex than > vkcube and may cover more of the API.
It can be configured to render closer to the original software renderer when changing the filter from 'smooth' to 'classic' unlike quakespasm. vkQuake was done by Axel Gneiting of id Software (formerly Crytek) who ported doom 2016 to vulkan https://www.youtube.com/watch?v=CsHMiEQgrLA&t=3098 https://www.khronos.org/assets/uploads/developers/library/2016-siggraph/3D-BOF-SIGGRAPH_Jul16.pdf so has the benefit of someone who has shipped commercial vulkan games working on it. Dustin Land (also of id) did something similiar with DOOM3 BFG Edition https://github.com/DustinHLand/vkDOOM3 which may eventually be included in RBDOOM3-BFG in some form https://github.com/RobertBeckebans/RBDOOM-3-BFG/issues/398 vkDOOM3 was targeted at windows and likely needs further changes to work elsewhere, I've not looked into it. > > Like quakespasm, it shows the following messages during runtime: > > [...] > couldn't exec config.cfg > couldn't exec autoexec.cfg > [...] > Couldn't write config.cfg. > [...] > > I left this alone for now as the same messages appear in quakespasm and > the game runs otherwise. > > ok? I think we should build vkquake and quakespasm with DO_USERDIRS=1 to enable support for ~/.vquake/ and ~/.quakespasm. The -Wimplicit-int warnings show with gcc as well as clang and the patches should be submitted upstream. I wonder if we should use a common path for the datafiles or if that would cause config files to collide? Not really a big deal with how small the files are. port looks fine otherwise ok jsg@ with or without DO_USERDIRS.