PolymerD3D12
#1 Posted 17 May 2020 - 08:24 AM
I spent yesterday getting Direct3D 12 working in eduke32. This isn't a huge code refactor, in fact I tried to put Direct3D 12 along side the OpenGL bits. Obviously there are huge pipeline differences between OpenGL and Direct3D 12, but I didn't need to refactor the entire codebase like I've done in the past. I plan on getting this close enough to regular Polymer, I need this for a test bed for some other stuff I'm working on. Here's a video so far, to prove its running in Direct3D 12, I start the game from PIX, and do a PIX capture at the end and walk through some of pipeline.
Github:
https://github.com/j...l23/PolymerDX12
#2 Posted 17 May 2020 - 10:55 AM
#3 Posted 17 May 2020 - 01:01 PM
https://forums.duke4...dpost__p__31341
This post has been edited by Mark: 17 May 2020 - 01:39 PM
#4 Posted 17 May 2020 - 01:14 PM
#5 Posted 18 May 2020 - 08:53 AM
This post has been edited by icecoldduke: 18 May 2020 - 08:55 AM
#6 Posted 18 May 2020 - 11:07 AM
This post has been edited by Mark: 18 May 2020 - 11:08 AM
#7 Posted 18 May 2020 - 02:14 PM
Kristian Joensen, on 17 May 2020 - 01:14 PM, said:
I just committed Vulkan support, I'll make a video shortly.
#8 Posted 18 May 2020 - 02:46 PM
#9 Posted 18 May 2020 - 04:17 PM
Also, is there any reason it shouldn’t be getting polymost-like frame rates when there are no fancy effects? You made a polymer comparison earlier yet polymer is extremely unoptimised.
#10 Posted 18 May 2020 - 08:09 PM
Micky C, on 18 May 2020 - 04:17 PM, said:
Also, is there any reason it shouldn’t be getting polymost-like frame rates when there are no fancy effects? You made a polymer comparison earlier yet polymer is extremely unoptimised.
In this area, PolymerVulkan and PolymerD3D12 is 2.8ms. Polymer Regular(OpenGL) is 10ms. Polymost is 1ms. This is without any multithreading stuff though, so performance will get tighter to Polymost when I get multithreading working.
This post has been edited by icecoldduke: 18 May 2020 - 08:12 PM
#12 Posted 19 May 2020 - 12:57 PM
Download:
https://github.com/j...ases/tag/Alpha1
BuildNotes:
PolymerVulkan - Alpha Release 1
What is this?
This is a Vulkan renderer for eduke32.
Source Code:
https://github.com/j...l23/PolymerDX12
How to run:
* Bring over the Duke3D.grp file from the Atomic edition.
* Make sure Polymer is checked and fullscreen is NOT checked on the startup dialog. You can use any resolution you want.
Known Issues:
* Opening the console causes the game to crash.
* Switching the hud to different hud types can cause the game to crash.
* Floor aligned sprites don't render properly.
#13 Posted 19 May 2020 - 05:39 PM
#15 Posted 19 May 2020 - 06:23 PM
Trooper Dan, on 19 May 2020 - 05:39 PM, said:
I'm looking for a couple things right now. Any big sorts of issues(crashes, non progs, etc), and big graphical issues(like the missing triangle stuff you found). Along with performance metrics along with hardware specs. Since with Vulkan and D3D12 the renderer has to manage lots of stuff that the driver would normally take care of, I just want to ensure there aren't any class A bugs.
#16 Posted 19 May 2020 - 11:33 PM
#17 Posted 20 May 2020 - 08:47 AM
#19 Posted 22 May 2020 - 06:44 PM
This post has been edited by icecoldduke: 22 May 2020 - 06:59 PM
#20 Posted 23 May 2020 - 08:22 PM
This post has been edited by icecoldduke: 23 May 2020 - 08:22 PM
#21 Posted 23 May 2020 - 08:28 PM
#22 Posted 23 May 2020 - 08:44 PM
RADAЯ, on 23 May 2020 - 08:28 PM, said:
What fps are you getting? Have you tried using a external tool rather then the built in fps counter?
#23 Posted 23 May 2020 - 08:55 PM
This post has been edited by RADAЯ: 23 May 2020 - 08:56 PM
#24 Posted 23 May 2020 - 09:09 PM
However the more important thing I noticed in Polymost was more performance spikes, probably related to how opengl is building command buffers behind the scenes. I can repo this in eduke32 were performance is closer to 3000fps(0.8ms), however I saw the same spikes(0.5 to 1.2ms in length), only for a few frames, on both my pcs.
These spikes don't happen in Vulkan. Input also seems smoother in vulkan compared to opengl not sure why.
This post has been edited by icecoldduke: 23 May 2020 - 09:10 PM
#26 Posted 24 May 2020 - 11:46 AM
Hendricks266, on 24 May 2020 - 10:22 AM, said:
Nvidia Nsight. I can use another piece of software if you want, just let me know.
Also just got the invalidate texture pipeline working, so you can now progress through the first level(the camera screen needed that system working).
This post has been edited by icecoldduke: 24 May 2020 - 11:49 AM
#27 Posted 25 May 2020 - 03:06 PM
Download:
https://github.com/j...ag/VoidSWAlpha1
Video:
This post has been edited by icecoldduke: 25 May 2020 - 03:06 PM