VOGONS


dgVoodoo 2.7.x and related WIP versions

Topic actions

Reply 140 of 306, by lowenz

User metadata
Rank Oldbie
Rank
Oldbie

About the memory leak: just play the very first part of Reservoir, dying some times (4-5) after killing the soldiers and destroying the glasses.....(the glass shaders are the culprit?) of the gondola control room.
I got this:

Pariah-2020-09-11-00-31-19-981.jpg

Reply 142 of 306, by lowenz

User metadata
Rank Oldbie
Rank
Oldbie
lowenz wrote on 2020-09-10, 22:34:
About the memory leak: just play the very first part of Reservoir, dying some times (4-5) after killing the soldiers and destroy […]
Show full quote

About the memory leak: just play the very first part of Reservoir, dying some times (4-5) after killing the soldiers and destroying the glasses.....(the glass shaders are the culprit?) of the gondola control room.
I got this:

Pariah-2020-09-11-00-31-19-981.jpg

Damn, it's reshade on top. With NO shaders loaded it can somehow devour the VRAM nonetheless.
Will try in D3D11 and D3D12+"d3d12.dll" and not dxgi point of insertion.......

Edit: I can confirm it's a D3D12 issue only, no problem with D3D11+ReShade.....

Reply 143 of 306, by Stiletto

User metadata
Rank l33t
Rank
l33t

Head's up, Dege: there's been a few demos added to the Glide list at demozoo.org since we last looked: https://demozoo.org/productions/tagged/glide/

The pouet equivalent list is here: https://www.pouet.net/lists.php?which=72

Couldn't find such a handy list for Direct3D at pouet or demozoo, though demozoo -did- have a list of things tagged with "DirectX": https://demozoo.org/productions/tagged/directx/

"I see a little silhouette-o of a man, Scaramouche, Scaramouche, will you
do the Fandango!" - Queen

Stiletto

Reply 144 of 306, by Dege

User metadata
Rank Oldbie
Rank
Oldbie

Thanks, Stiletto!

Though I've browsed and collected 300 DX demos from Pouet in the recent years. +61 DDraw only.
But sure there are more, that escaped my attention. 😀 (Most of them seem to be OGL, "unfortunately".)

lowenz wrote on 2020-09-10, 22:36:

And about the refresh rate......74/74.9 in the ini solved the problem, 🤣! 75 works with Crosire wrapper but not with yours!

"0" (in the ini) got me the same result of 75 -> 60 Hz

No way... 😁
What freq is in the logs for the 75 and 74.9 cases? What is your monitor exact frequency? 74.95 or such?

Reply 145 of 306, by lowenz

User metadata
Rank Oldbie
Rank
Oldbie

74.99!

The log shows that if I set "75" in the ini dgVoodoo2 sees 59

00000216 2.51935267 [6572] [dgVoodoo] INFO: Direct3DDevice8 (0E60A3B0)::Init: Implicit swapchain (0E658368) is created. Its display mode is 1920x1440, 32 bit, 59 Hz, fullscreen mode
00000217 2.52137470 [6572] [dgVoodoo] INFO: Direct3DDevice8 (0E60A3B0)::Init: Requested output API type is "Direct3D 12 FL 12.0", DDI type is D3D12 (FL 12.0), hardware accelerated
00000218 2.52158594 [6572] [dgVoodoo] INFO: Direct3DDevice8 (0E60A3B0)::Init: Device is successfully initialized on output device index: 0. Maximum video memory: 2097152 kBs, currently available video memory: 2092032 kBs
00000219 2.52183604 [6572] [dgVoodoo] INFO: Direct3D8 (0B8AE5E0)::CreateDevice: Direct3DDevice8 (0E60A3B0) is created on output device 0, device type: D3DDEVTYPE_HAL.
00000220 2.52208161 [6572] 00: 2.609( 0.3438): Log: xD3DHelper::Init (QuadEmulation)
00000221 2.52226925 [6572] 00: 2.609( 0.0003): Log: old 3d device: 0
00000222 2.52226925 [6572] new 3d device E60F564
00000223 2.52226925 [6572] playing: 0
00000224 2.52226925 [6572]

Last edited by lowenz on 2020-09-11, 10:28. Edited 2 times in total.

Reply 147 of 306, by lowenz

User metadata
Rank Oldbie
Rank
Oldbie

And here's the log with "74" instead of "75"

00000197 5.82057953 [5240] 00: 3.543( 0.0000): Dev: D3D Device: szDriver=nvldumd.dll
00000198 5.82059908 [5240] 00: 3.543( 0.0000): Dev: D3D Device: szDescription=NVIDIA GeForce GTX 1050 Ti
00000199 5.82064438 [5240] 00: 3.543( 0.0000): Dev: D3D Device: wProduct=25
00000200 5.82068968 [5240] 00: 3.543( 0.0000): Dev: D3D Device: wVersion=21
00000201 5.82073498 [5240] 00: 3.543( 0.0000): Dev: D3D Device: wSubVersion=14
00000202 5.82080507 [5240] 00: 3.543( 0.0000): Dev: D3D Device: wBuild=1735
00000203 5.82085705 [5240] 00: 3.543( 0.0000): Dev: D3D Device: dwVendorId=4318
00000204 5.82087135 [5240] 00: 3.543( 0.0000): Dev: D3D Device: dwDeviceId=7171
00000205 5.82091856 [5240] 00: 3.543( 0.0000): Dev: D3D Device: dwSubSysId=924456024
00000206 5.82096338 [5240] 00: 3.543( 0.0000): Dev: D3D Device: dwRevision=161
00000207 5.82101059 [5240] 00: 3.543( 0.0000): Dev: D3D Detected: NVidia video card
00000208 5.82105732 [5240] 00: 3.543( 0.0000): Dev: D3D Device: using cubemaps [with mipmaps]
00000209 5.82424164 [5240] 00: 3.546( 0.0031): Init: Input system initialized for WindowsViewport0
00000210 5.83420753 [5240] 00: 3.556( 0.0090): Log: Opened viewport
00000211 5.83805180 [5240] 00: 3.560( 0.0047): Log: Enter SetRes: 1920x1440 Fullscreen 1
00000212 5.83859539 [5240] 00: 3.561( 0.0006): Dev: Best-match display mode: 1920x1440x32@74
00000213 5.83866549 [5240] 00: 3.561( 0.0001): Log: Using back-buffer format 21(32-bit)
00000214 5.83873463 [5240] 00: 3.561( 0.0001): Log: Using depth-buffer format 75(32-bit)
00000215 5.83879900 [5240] 00: 3.561( 0.0001): Dev: Creating device
00000216 7.27113199 [5240] [dgVoodoo] INFO: Direct3DDevice8 (0D8E3188)::Init: Implicit swapchain (00516870) is created. Its display mode is 1920x1440, 32 bit, 74 Hz, fullscreen mode
00000217 7.27231216 [5240] [dgVoodoo] INFO: Direct3DDevice8 (0D8E3188)::Init: Requested output API type is "Direct3D 11 FL 11.0", DDI type is D3D11 (FL 11.0), hardware accelerated
00000218 7.27236319 [5240] [dgVoodoo] INFO: Direct3DDevice8 (0D8E3188)::Init: Device is successfully initialized on output device index: 0. Maximum video memory: 2097152 kBs, currently available video memory: 2092032 kBs
00000219 7.27241611 [5240] [dgVoodoo] INFO: Direct3D8 (00517AE0)::CreateDevice: Direct3DDevice8 (0D8E3188) is created on output device 0, device type: D3DDEVTYPE_HAL.
00000220 7.27248716 [5240] 00: 4.992( 1.4306): Log: xD3DHelper::Init (QuadEmulation)
00000221 7.27255201 [5240] 00: 4.992( 0.0001): Log: old 3d device: 0
00000222 7.27255201 [5240] new 3d device D8E833C
00000223 7.27255201 [5240] playing: 0
00000224 7.27255201 [5240]

Reply 148 of 306, by Dege

User metadata
Rank Oldbie
Rank
Oldbie

Thanks, then I think I understand what happens: dgVoodoo gets the supported refresh rates from DXGI in rational form (e.g., my 75.025Hz is described as 135000000 / 1799408), and converts them into integers by truncating (DX8/9 don't support rational form), which is 74 in your case. So, you specify 75 to no avail because UE doesn't see 75 Hz as a supported refrate and it chooses another (default or first enumerated) instead.
How to convert rational into integer (trunc or rounding) was a question here previously and I chose truncating not to mess with 59/60Hz.

Reply 149 of 306, by lowenz

User metadata
Rank Oldbie
Rank
Oldbie

Memory leak due to dgVoodoo2 D3D12+ReShade doesn't show up in Republic Commando (another UE2.x+shaders game).
So there's something in Pariah that drives mad the VRAM management.

One thing about Republic Commando: clicking on DX12 tab makes the game crash 😁

Reply 155 of 306, by Stiletto

User metadata
Rank l33t
Rank
l33t

Dege, found a few more tags at demozoo:

https://demozoo.org/productions/tagged/directx-3/
https://demozoo.org/productions/tagged/directx-5/
https://demozoo.org/productions/tagged/directx-6/
https://demozoo.org/productions/tagged/directx-7/
https://demozoo.org/productions/tagged/directx-8/
https://demozoo.org/productions/tagged/directx-9/
https://demozoo.org/productions/tagged/directx-10/
https://demozoo.org/productions/tagged/directx-11/
https://demozoo.org/productions/tagged/directx-12/

Pouet turned up a guy claiming that this was a Glide demo: https://www.pouet.net/prod.php?which=2555
but elsewhere someone else says it's Direct3D. I can't check right now, a bit too busy... 🙁

"I see a little silhouette-o of a man, Scaramouche, Scaramouche, will you
do the Fandango!" - Queen

Stiletto

Reply 156 of 306, by Dege

User metadata
Rank Oldbie
Rank
Oldbie

Huh, I finished testing my complete testbase and fixed a lot of bugs and crashes I ran into (with both DX and Glide).
2.7 is released:

http://dege.fw.hu/dgVoodoo2/dgVoodoo2_7.zip
http://dege.fw.hu/dgVoodoo2/dgVoodoo2_7_dbg.zip

The list of changes compared to WIP76.1 is quite long, so I won't detail that here. This version now writes config files of version 2.7. Also, I removed support for reading config versions of 2.4.x.

I submitted the zips to VirusTotal and they hit a surprisingly low positive rate this time. Also, MS Defender doesn't detect the files, so I didn't yet submitted them to MS. If that changes, plz report it and I'll do.

I have some remarks regarding D3D12, so I copy them here from the readme:

  • dgVoodoo D3D11 is broken with AMD GPU's (DirectX modules). I got a ton of reports complaining about solid colored polygons instead of textured ones. This problem seems to affect all GCN 2 and newer GPU's and I cannot do anything about fixing it. I don't have a clue what change in my code broke it and AMD probably won't fix their drivers so I don't care about it all anymore.
    On the other hand, according to the feedback I got, D3D12 works as expected so this is your best bet on AMD hardware.
  • Windows (not the OS but GUI windows) backed by swapchains with FLIP_DISCARD presenting mode, which is mandatory for D3D12, cannot transition back to "legacy" (GDI) presentation mode. Unfortunately it means that D3D12 can be completely unusable for applications that render into their windows through multiple API's like GDI, D3D9, etc. and D3D12 (dgVoodoo). Such an application is DosBox. I don't recommend dgVoodoo D3D12 for that, unless you play a Glide game that has no VGA-rendered parts.
  • Unlike D3D11 swapchains in dgVoodoo, D3D12 swapchains (FLIP_DISCARD) always render into a window, even in fullscreen mode. Some games resize their window to match the resolution they think they rendering at. No matter if you run the game in fullscreen mode, this causes a small window in the top-left corner of the desktop if it happens. Try disabling option 'Disable Alt-Enter to toggle screen state' (see DirectX options) in such a case. It may help because dgVoodoo window hooking runs on a different path in that case and it forces back the window size to cover the entire screen.
  • Implied by the previous point, D3D12 swapchains do not support gamma ramps as well. dgVoodoo can apply gamma as a postprocess effect but I didn't want it to be always forced to have effect (to get max fps's for games that don't really need gamma calibration) so it only works if option 'Inherit Color Profile in full screen mode' is enabled (see General options).
  • MSI Afterburner relies on D3D11on12 to render its own overlay when hooking D3D12. I ran into multiple cases when D3D11on12 crashed or hung at startup, for unknown reasons. First try a game with MSIA shut down if you have problem with launching it.
  • If you have multiple displays attached to different GPU's (rare case) then you can run into an unexplainable initialization fail with certain games. D3D12 swapchains suffer from more restrictions than D3D11 ones which the current version of dgVoodoo cannot handle well. Enable only one of your video cards (see General options) and it should fix the problem.
  • Because of the problems listed above and other known D3D12 issues that I want to address in subsequent releases, Output API option 'Best available' never chooses D3D12 automatically. If you want D3D12 then you must choose it explicitly in the config.
  • A last one: unlike in D3D11, feature levels cannot be forced in D3D12. D3D12 takes the minimum feature level as an input parameter but initializes itself at the highest available one (which is greater than or equal to the mininum). So, if your GPU supports FL12.0 then it's all for the same which feature level you choose in the config.

I think I'm going to clear my mind, I'm fed up with dgVoodoo. 😁 At least, with coding, for a while.

Stiletto wrote on 2020-09-13, 04:41:
Dege, found a few more tags at demozoo: […]
Show full quote

Dege, found a few more tags at demozoo:

https://demozoo.org/productions/tagged/directx-3/
https://demozoo.org/productions/tagged/directx-5/
https://demozoo.org/productions/tagged/directx-6/
https://demozoo.org/productions/tagged/directx-7/
https://demozoo.org/productions/tagged/directx-8/
https://demozoo.org/productions/tagged/directx-9/
https://demozoo.org/productions/tagged/directx-10/
https://demozoo.org/productions/tagged/directx-11/
https://demozoo.org/productions/tagged/directx-12/

Pouet turned up a guy claiming that this was a Glide demo: https://www.pouet.net/prod.php?which=2555
but elsewhere someone else says it's Direct3D. I can't check right now, a bit too busy... 🙁

Thanks again! I'll test them a bit later. 😀

Reply 158 of 306, by xcomcmdr

User metadata
Rank Member
Rank
Member

Thanks a lot Dege for this new release !! 😁

Windows Defender is really paranoid lately. I use dgVoodoo2 a LOT. And every hour, WD deletes the same files and I have to tell it to restore them again and again.

If I disable WD, then Windows complains.

Anti-virus : can't live with them, can't live without them. -_-'