VOGONS


dgVoodoo 2.7.x and related WIP versions

Topic actions

Reply 380 of 441, by Dege

User metadata
Rank l33t
Rank
l33t

Thanks, indeed, even bicubic is wrong. I fixed it. 320x200 (standard/x-mode) and 320x240 (x-mode) with 8 bit are VGA modes and applications can control DDraw to allow it to be enabled/enumerated or not (flags DDSCL_ALLOWMODEX and DDEDM_STANDARDVGAMODES).
If it does not apperar in the log then it's not enumerated either.

Reply 381 of 441, by ZellSF

User metadata
Rank Oldbie
Rank
Oldbie

You're right, that is weird.

Dungeon Keeper enumerates 320x200@8bit, but KeeperFX does not. The documentation for KeeperFX says it should still support it. OK, maybe an open source project having out of date documentation isn't that weird.

KeeperFX actually has a problem with the scaling options. FMV mode should be 320x200 (4:3) and gameplay should be whatever you want which is likely not 4:3. dgVoodoo doesn't have any way to make that work. KeeperFX is the only application I can think of with that setup though and it probably should be fixed within KeeperFX.

Reply 382 of 441, by FulValBot

User metadata
Rank Member
Rank
Member

When i says that some games don't work properly when i try to use scaling mode in dgVoodoo2 (Painkiller) it means that i can see only partial screen of game...

That screen of ZellZF (named "Bad") i think that is almost the same thing... in Painkiller the image is visible only at botton right (only the image, not the window)

How can i use DOSBox with dgVoodoo2 without crash?

Reply 383 of 441, by De-M-oN

User metadata
Rank Newbie
Rank
Newbie

What I found quite interesting is, that some games work on the Direct3D12 Output better than Direct3D11 Output.
For example in World Racing 2 I had the problem that I had no numbers etc on the speedometers. Only with Direct3D12 they're there 😀
I have a nvidia card.

Reply 384 of 441, by Dege

User metadata
Rank l33t
Rank
l33t
ZellSF wrote on 2021-03-17, 22:51:

You're right, that is weird.

Dungeon Keeper enumerates 320x200@8bit, but KeeperFX does not. The documentation for KeeperFX says it should still support it. OK, maybe an open source project having out of date documentation isn't that weird.

The flags SetCooperativeLevel and EnumDisplaymodes methods called with could tell if the game actually enables 320x200x8 or not. dgVoodoo relies on those 2 flags I mentioned.

ZellSF wrote on 2021-03-17, 22:51:

KeeperFX actually has a problem with the scaling options. FMV mode should be 320x200 (4:3) and gameplay should be whatever you want which is likely not 4:3. dgVoodoo doesn't have any way to make that work. KeeperFX is the only application I can think of with that setup though and it probably should be fixed within KeeperFX.

Indeed, currently there is no solution for 320x200 with forced 4:3 and other resolutions with unforced aspect ratio. I thought it's not a big problem with old games because they typically support only 4:3 or 5:4 resolutions.

De-M-oN wrote on 2021-03-18, 20:49:

What I found quite interesting is, that some games work on the Direct3D12 Output better than Direct3D11 Output.
For example in World Racing 2 I had the problem that I had no numbers etc on the speedometers. Only with Direct3D12 they're there 😀
I have a nvidia card.

Unlike D3D12, D3D11 is not an ideal API to map certain D3D8/9 features to, so D3D11 impl contains workarounds for those, that don't always (seem to) work.
But, each individual game should be checked out one by one to see if that's the case. Do you have other examples? I may have a look at them when I find some time.

FulValBot wrote on 2021-03-17, 23:43:

When i says that some games don't work properly when i try to use scaling mode in dgVoodoo2 (Painkiller) it means that i can see only partial screen of game...

That screen of ZellZF (named "Bad") i think that is almost the same thing... in Painkiller the image is visible only at botton right (only the image, not the window)
How can i use DOSBox with dgVoodoo2 without crash?

Painkiller queries the size of its rendering window to adjust its rendering viewport. Since forced resolutions or scaling modes other than 'unspecified' changes the expected window size, the viewport goes wrong.
Forced things are not guaranteed features in dgVoodoo, Painkiller is an example where it doesn't work (but I could enumerate some scene demos as well here). Play the game at native resolution and it'll be ok.
As for DOSBox, does it always crash or just with a specific game/environment?

Reply 385 of 441, by ZellSF

User metadata
Rank Oldbie
Rank
Oldbie

The History Channel: Civil War - A Nation Divided , a rather terrible game has a problem under dgVoodoo.

To install it you need to grab it from the largest Russian torrent tracker, since that includes a fix for a rendering issue (that is the same native and with DXVK too, so could be unrelated to dgVoodoo, but if you want to look into it...).

If you run to the bridge on the first level, there's grass around the river. In dgVoodoo the grass vibrates, natively or with DXVK it sways as you would expect it to.

Reply 387 of 441, by Dege

User metadata
Rank l33t
Rank
l33t

The History Channel: Civil War - A Nation Divided: Thanks! I fixed it.

Stalker: Indeed, now it works, but it didn't do last time when I checked (even with 2.72). Removing D3DCompiler from the wrapper cured it, now doesn't get stuck called from DllMain.
For the static/dynamic lighting, could you attach screenshots for a location where the difference is clearly visible, plz? (maybe the best would be to start a new thread about it)

Mouse cursor: it's a known glitch for dgVoodoo's cursor emulation. Currently the only way to get rid of that is running a game with unspecified scaling mode (and let the driver/GPU do the scaling for you) and unforced resolution, which is not an option if I guess it right. 🙁

Reply 388 of 441, by MrEWhite

User metadata
Rank Oldbie
Rank
Oldbie
Dege wrote on 2021-03-20, 12:02:
The History Channel: Civil War - A Nation Divided: Thanks! I fixed it. […]
Show full quote

The History Channel: Civil War - A Nation Divided: Thanks! I fixed it.

Stalker: Indeed, now it works, but it didn't do last time when I checked (even with 2.72). Removing D3DCompiler from the wrapper cured it, now doesn't get stuck called from DllMain.
For the static/dynamic lighting, could you attach screenshots for a location where the difference is clearly visible, plz? (maybe the best would be to start a new thread about it)

Mouse cursor: it's a known glitch for dgVoodoo's cursor emulation. Currently the only way to get rid of that is running a game with unspecified scaling mode (and let the driver/GPU do the scaling for you) and unforced resolution, which is not an option if I guess it right. 🙁

Yeah, the reason I'm using dgvoodoo in those games is to force resolution (WaW doesn't show 3840x2160 unless I use dgvoodoo & force the res to 3840x2160 for some reason).

Reply 389 of 441, by De-M-oN

User metadata
Rank Newbie
Rank
Newbie

I get with resolution "Max" a 4:3 resolution of 2133x1600

When I select my native resolution of 2560x1600 directly I get it.

Shouldnt Max be the maximum available resolution without any aspect ratio considerations? (which in case of NFS HP2 even dont make sense, because I have a patched exe with 16:10 support)

Reply 390 of 441, by FulValBot

User metadata
Rank Member
Rank
Member
Dege wrote on 2021-03-19, 11:45:

As for DOSBox, does it always crash or just with a specific game/environment?

DOSBox crash at start

without dgVoodoo2 files it works fine (tested output=ddraw in dosbox.conf)

For now i use Painkiller at 1280x960 (without any scaling and with GPU scaling enabled, and for now without dgVoodoo2)

Reply 391 of 441, by Choum

User metadata
Rank Newbie
Rank
Newbie

Small bug with the game outlaws (Lucas arts) in glide mode :
Knive and dynamite you throw are not render (invisible).

Problem do not occurs in Direct3d mode but Direct 3d mode has the mouse cursor problem.

Reply 392 of 441, by FulValBot

User metadata
Rank Member
Rank
Member
Choum wrote on 2021-03-23, 10:57:

Small bug with the game outlaws (Lucas arts) in glide mode :
Knive and dynamite you throw are not render (invisible).

Problem do not occurs in Direct3d mode but Direct 3d mode has the mouse cursor problem.

You have to enable V-sync with this game (to fix cursor problem)

nGlide has the same problem with knive and dynamite

Reply 396 of 441, by ZellSF

User metadata
Rank Oldbie
Rank
Oldbie

Near Fantasy Space:
https://www.dlsite.com/home/work/=/product_id/RJ057757.html (purple button is download trial version).
Crashes at launch.

It works fine with DxWrapper and WineD3D, but also crashes with cnc-ddraw, so it probably does something slightly weird.

lowenz wrote on 2021-03-23, 18:59:

Request (maybe already asked): add a GeForce2 Ultra (64 MB - DX7-only compliant) preset

You should probably say what you need this for, that the existing options don't already cover.

Reply 399 of 441, by Dege

User metadata
Rank l33t
Rank
l33t

I release a new WIP:

=========================
WIP79:
=========================

Changes compared to v2.73:

- Enabling 16K sized surfaces in DDraw (Demon World 2)
- Fixing bicubic + Lanczos filters combined with integer scaling
- Adding a new option GeneralExt\CursorScaleFactor to control the integer scaled appearance of the emulated hw cursor
- Removing an old general limitation related to swapchains + code refactoring
- Fixing a vs.1.x shader translator bug (The History Channel - Civil War)
- Fixing a regressive D3D12 bug (Dragon Age Origins)
- Optimizing all filling-type GPU-work along the code for lower GPU usage (DDraw/D3D/presentation)
* this involves some improvements like filling stencil values through DDraw
- Implementing a missing thing in DDraw (Near Fantasy Space) + adding full implementations to all interfaces to handle various descriptor versions
- Minor change in handling the FPU state (Tantra Online)
- Minor Glide x64 fixings; bad thick-line drawing + crash in guDrawPolygonVertexListWithClip
- Some superflous work that isn't included in this version

http://dege.fw.hu/temp/dgVoodooWIP79.zip
http://dege.fw.hu/temp/dgVoodooWIP79_dbg.zip