Novum / vkQuake

Vulkan Quake port based on QuakeSpasm
GNU General Public License v2.0
1.84k stars 223 forks source link

Render window is all black on AMD GPUs (Ubuntu xenial, 16.30 drivers) #3

Closed jfroy closed 8 years ago

jfroy commented 8 years ago

According to the validation layers, there are a bunch of missing image transitions, including the swapchain images. validation.txt

Novum commented 8 years ago

Define "doesn't run". Also I doubt the validation layer errors are the issue. Those are harmless on PC. Will fix them later.

Novum commented 8 years ago

SC(WARN): object: 0x0 type: 0 location: 1775 msgCode: 2: FS writes to output location 0 with no matching attachment

This is more likely the problem. Need to investigate, but I'm not able to debug until August.

jfroy commented 8 years ago

I fixed most of the warnings having to do with missing barriers. Fairly trivial fixes in gl_texmgr.c. I'll cleanup and send a PR.

I'm looking at that last one from SC about missing the output attachment.

And by doesn't run, I meant the window is all black :p

jfroy commented 8 years ago

So the issue was that GL_CreateRenderPasses is called before GL_CreateRenderTargets, which means vulkan_globals.swap_chain_format is UNDEFINED at that point. It's going to be a bit more complex to fix that because GL_CreateRenderTargets can be called multiple times to reshape the output, but not too bad.

With the barrier fixes and the format fix, it seems to run fine.

Novum commented 8 years ago

Right. To be entirely correct need to re-create the render passes in this case (even though swap chain format should always be R8G8B8A8). Also make sure to call GL_WaitForDeviceIdle before that.

Novum commented 8 years ago

I would suggest just to check that the returned format is R8G8B8A8 and otherwise fail. Every driver supports that. Otherwise also need to recreate pipelines on swap chain change.

fabry92 commented 8 years ago

how can i start this game on linux? i see only win and macos launcher

mrcmunir commented 8 years ago

@Fabry92 Makefile is in Quake/ and the launcher when is compiled you run by ./quakespasm (Not forget copy folder quake files )

jfroy commented 8 years ago

@fabry92 Please stay on topic for this issue.

Hobby-boy commented 8 years ago

I am also getting a black screen after compiling it on Windows with Visual Studio 2015. I can hear the sounds and interact though. My card is an AMD Radeon R9 270X, with the 16.7.3 drivers.

Novum commented 8 years ago

Please try again with latest code.

jfroy commented 8 years ago

Thanks Novum, will do soon. I haven't been able to get through my company's OSS release process yet, so I'm glad you just went ahead and did the fixes yourself :)

Novum commented 8 years ago

Closing this because I think it's fixed. Please let me know if it's not.