VOGONS


dgVoodoo 2 for DirectX 11

Topic actions

  • This topic is locked. You cannot reply or edit posts.

Reply 1020 of 3949, by Dege

User metadata
Rank l33t
Rank
l33t
ZellSF wrote:

The one included in the installer available here.

Ah, thanks! It's less sensible with WineD3D but I experience the same issue with it. I did a 'restart race' for multiple times to see the starting ship-rotation animation and it appeared. It all seems to be undeterminant (edit: indeterminate) though.
I guess WineD3D uses a 24 bit z-buffer in the background because when I did a try and forced 24 bits in dgVoodoo then experienced roughly the same. Even the rock you drove into looked perfect.

teleguy wrote:

There's an issue with Requiem and nglide. The game complains "Not enough memory" at the start. This doesn't happen if you use Wined3d instead of dgVoodoo.

It must be because of mixing D3D9 and D3D11 in the same process... 🤣 😀

teleguy wrote:

What if you create a program that tests each shader one by one and give it to AMD users?

Ok, it's a good idea, but the problem is we know that one (or more) of the shaders fail(s) on certain AMD drivers.
We should know why it fails and how to hammer it out to workaround the driver problem. A test program would just say which shader fails.

Reply 1021 of 3949, by ZellSF

User metadata
Rank l33t
Rank
l33t
Dege wrote:
It should, but I don't know, a try needed. AFAIR I tried Fallout 1 back months ago but it had a lot of issues. If these very old […]
Show full quote

Would it help with games like Baldur's Gate 1 (sprite rotation issues on modern nVidia cards) and Fallout 1 (screen clears to black once in a while)?

It should, but I don't know, a try needed. AFAIR I tried Fallout 1 back months ago but it had a lot of issues.
If these very old games are not affected by GDI usage then they should work with dgVoodoo.
But I experienced that apps using the first versions of DirectDraw are often mixed with GDI usage like Bug!, so they won't work.

When I tested, Icewind Dale and Planescape Torment both worked perfectly, Baldur's Gate being based on an older version of the engine should work.

Ah, thanks! It's less sensible with WineD3D but I experience the same issue with it. I did a 'restart race' for multiple times to see the starting ship-rotation animation and it appeared. It all seems to be undeterminant (edit: indeterminate) though.
I guess WineD3D uses a 24 bit z-buffer in the background because when I did a try and forced 24 bits in dgVoodoo then experienced roughly the same. Even the rock you drove into looked perfect.

WineD3D looks much better though, any change you can get a fix in for dgVoodoo2?

While WineD3D handles that aspect better, it breaks other stuff (fog, lights).

Reply 1022 of 3949, by Stiletto

User metadata
Rank l33t++
Rank
l33t++
ZellSF wrote:

The one included in the installer available here.

If that article is right, then it should be WineD3D ver. 1.7.34 or before...
http://sourceforge.net/projects/wined3d4win/files/

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

Stiletto

Reply 1023 of 3949, by galneon

User metadata
Rank Newbie
Rank
Newbie

I imagine one of the most common use situations for dgVoodoo 2 is for DirectDraw games on Windows 8 and newer to alleviate the awful framerate issue. I've just encountered the framerate issue in what is supposedly a DX8 game, Age of Wonders: Shadow Magic. The problem only occurs on my 8.1 installation--the game works fine on Windows 7. dgVoodoo 2 doesn't work at all for it, which supports it truly being DX8. I apologize if this is a little off-topic, but could this be due to a mixed implementation of both DX7 and DX8 in this game? I ask because I've never experienced this framerate issue in Windows 8, but not in Windows 7, when weak DirectDraw legacy support was not the cause of it.

Reply 1024 of 3949, by teleguy

User metadata
Rank Member
Rank
Member
Dege wrote:
teleguy wrote:

There's an issue with Requiem and nglide. The game complains "Not enough memory" at the start. This doesn't happen if you use Wined3d instead of dgVoodoo.

It must be because of mixing D3D9 and D3D11 in the same process... 🤣 😀

dgVoodoo 1.5 works in D3D9 mode though.

Reply 1025 of 3949, by Expack3

User metadata
Rank Member
Rank
Member
Dege wrote:

Now that both parts are refactored for the sake of multidevice support, and DXTC encoding + enchanced blitting are added to the frame system, it was the last step in filling implementation gaps. DDI implementation supports everything that a contemporary GF4800 or ATI5800 supported by hardware for the fixed function pipeline, so, apart from the bugs and a few this and that's, in facts it's ready.
Or it's not after all because there is the GDI/DDraw interaction which I would like to address in the next versions (dgVoodoo should emulate the needed parts of GDI). The lack of this causes some games not to show its videos in fullscreen, palette problems, etc.

Sounds like you need a subset of SDL2 or something which can more closely mimic the function of GDI.

Reply 1026 of 3949, by Dege

User metadata
Rank l33t
Rank
l33t

I've done some minor fixes and a few changes and released dgVoodoo 2.45:

http://dege.fw.hu/dgVoodoo2_45.zip

Expack3 wrote:

Sounds like you need a subset of SDL2 or something which can more closely mimic the function of GDI.

Once I can hook GDI functions, I can implement the needed things. GDI emu itself is not needed, just hooking it.

WineD3D looks much better though, any change you can get a fix in for dgVoodoo2?

Maybe... It would require to always use a 24bit z-buffer in the background (similar to color buffers, as always 32 bit ones used for 3D rendering).
But it will complicate things inside further. 😀

I apologize if this is a little off-topic, but could this be due to a mixed implementation of both DX7 and DX8 in this game? I ask because I've never experienced this framerate issue in Windows 8, but not in Windows 7, when weak DirectDraw legacy support was not the cause of it.

I doubt it because there is no passthrough between DX7 and DX8 (unlike between DX1-7 versions). I don't have this game but googling on minimum requirements I got that it needs DX8. I don't know what issues are present with DX8 on Win8 but I can imagine that it can have poor performance similar to previous DX's because DX8 in fact is a stumpy and simplified DX7 with shader support (1.x) and a few other extra features, packed into fewer interfaces.
But this itself does not necessarily implies it must have the same performance, of course.

The simpliest method to trace down the used API is having a look in the game .exe (and all other files that are executables with other extension than .exe) to see if there are "DDRAW.DLL" or "D3D8.DLL" strings in them. 🤣

Reply 1027 of 3949, by galneon

User metadata
Rank Newbie
Rank
Newbie

I really have should opened AoW:SM up in a hex editor before 😜 Thanks for your patience! It does make calls to D3D8, so the system requirements were right. I took it for granted that the ignored flip flags issue of Windows 8 and beyond only affected versions up to DX7 (because that's what I'd always read), but given what you say of the relatively minor differences between DX7 and 8 and what I'm seeing in AoW:SM under Win8.1 (but not Win7), it seems to suffer the same problem. Looks like I'll need to try out more DX8 games.

Edit: I just tried the original Age of Wonders which uses DX6. Instantly gives errors "Access violation at address 67A5C193 in module 'D3D11.DLL'. Read of address 00000000." followed by "Access violation at address 70EF9C74 in module 'DXGI.DLL'. Read of address 03320504." without displaying the client at all. The first error also occurs when running the separate config program, which is vacant of video options, reminiscent of Soulbringer I'm afraid...

Reply 1031 of 3949, by duduba

User metadata
Rank Newbie
Rank
Newbie

I would like to congratulate due to your work on dgvoodoo 2. I got several games fixed with it, including the one named baldies a very old and funny game, where you play with a team of bald pals 🤣, the game was running too fast something about 1200fps, and colors messed-up with dgvoodoo fixed the 2 problems only the game menu still too fast but you can limit the fps at videocard controls capping the fps to 60, other games that got fixed are: overborad!, mageslayer and take no prisioner now i can use d3d mode!! uhoo, grouch/rocks quest, fixed invisible black areas, as in g-police, but g-police still crash on the transition from 3d to 2d, and fixed Captian Claw that was with messed-up colors. I'm about to try it on gangster that has the same problem of messed color due to explorer problem.

Reply 1032 of 3949, by Lotus Gramarye

User metadata
Rank Newbie
Rank
Newbie

Not sure if this is the best place to ask or not, but I'm trying to use this with Outlaws so I can record it. When I run the game I get an error that reads "The procedure entry point mmioDescend could not be located in the dynamic link library c:\windows\systerm32\dinput.dll" The game continues anyway but when at the menus/cutscenes it doesn't seem to use dgVoodoo (no watermark, and it also behaves oddly) but when it gets to the stages it does. Don't know if it's a specific issue with this game, something caused by the above error, or w/e, but I figured it wouldn't hurt to ask here in addition to the GOG Outlaws forum.

Reply 1033 of 3949, by ZellSF

User metadata
Rank l33t
Rank
l33t
Lotus Gramarye wrote:

Not sure if this is the best place to ask or not, but I'm trying to use this with Outlaws so I can record it. When I run the game I get an error that reads "The procedure entry point mmioDescend could not be located in the dynamic link library c:\windows\systerm32\dinput.dll" The game continues anyway but when at the menus/cutscenes it doesn't seem to use dgVoodoo (no watermark, and it also behaves oddly) but when it gets to the stages it does. Don't know if it's a specific issue with this game, something caused by the above error, or w/e, but I figured it wouldn't hurt to ask here in addition to the GOG Outlaws forum.

Two things occur to me (and neither is a problem with dgVoodoo2):

1: ogg-winmm has some problems with Win10. GoG has updated their games for this, so redownload and reinstall the game. mmioDescend is a winmm call (no clue why it's looking for it in dinput).

2: if you're using the glide render, which GoG defaults to and it sounds like you are, then the menus are DirectDraw and the game is Glide. The GoG launcher will also default to the glide render regardless of what you set in Outlaws' configuration program. Do not use the GoG launcher and make sure you have copied the files in the MS folder to Outlaws' folder.

I also wouldn't recommend using dgVoodoo2 for Outlaws' D3D render: it has really annoying focus issues during transitions.

Reply 1034 of 3949, by Lotus Gramarye

User metadata
Rank Newbie
Rank
Newbie
ZellSF wrote:

1: ogg-winmm has some problems with Win10. GoG has updated their games for this, so redownload and reinstall the game. mmioDescend is a winmm call (no clue why it's looking for it in dinput).

Well I'm using Windows 8 so I doubt that's it.

2: if you're using the glide render, which GoG defaults to and it sounds like you are, then the menus are DirectDraw and the game is Glide. The GoG launcher will also default to the glide render regardless of what you set in Outlaws' configuration program. Do not use the GoG launcher and make sure you have copied the files in the MS folder to Outlaws' folder.

I also wouldn't recommend using dgVoodoo2 for Outlaws' D3D render: it has really annoying focus issues during transitions.

Yeah that turned out to be the issue. I tried futzing around with dgVoodoo2 some more and either got a situation where the game was in window mode, but the mouse wasn't locked to the game so it would work on the game and the desktop at the same time, or where it would be fullscreen but forced into a 16:9 aspect ratio despite me having it set not to do that. I wanted to try and get it working so I could record gameplay, but it seems I'll have to stick with the included nglide wrapper, though that has the issue of me not being able to record the cutscenes. 🙁

Thanks for the help anyway.

Reply 1036 of 3949, by PhilsComputerLab

User metadata
Rank l33t++
Rank
l33t++
lowenz wrote:

Little request: Dege, can you add to Scaling Mode a "Stretched with fixed Aspect Ratio" option ?

Leave it at the default, which is Unspecified. Then use graphics driver scaling option and set it to aspect ratio scaling.

Also looking at the readme, this setting might not do what you think it does:

- Centered/scaled full screen: If the current resolution the wrapped app using does not […]
Show full quote

- Centered/scaled full screen:
If the current resolution the wrapped app using does not
match any natural resolution your adapter supports
then the display can be strethed out to fit all the
screen or its size can be left unchanged but centered.

YouTube, Facebook, Website

Reply 1037 of 3949, by teleguy

User metadata
Rank Member
Rank
Member
philscomputerlab wrote:
lowenz wrote:

Litthe request: Dege, can you add to Scaling Mode a "Stretched with fixed Aspect Ratio" option ?

Leave it at the default, which is Unspecified. Then use graphics driver scaling option and set it to aspect ratio scaling.

Unfortunately that only seems to work on Nvidia GPUs.

Reply 1038 of 3949, by PhilsComputerLab

User metadata
Rank l33t++
Rank
l33t++
teleguy wrote:
philscomputerlab wrote:
lowenz wrote:

Litthe request: Dege, can you add to Scaling Mode a "Stretched with fixed Aspect Ratio" option ?

Leave it at the default, which is Unspecified. Then use graphics driver scaling option and set it to aspect ratio scaling.

Unfortunately that only seems to work on Nvidia GPUs.

I've tested this on Intel, as well as AMD graphics cards. They all have scaling options. But you might need to set the resolution to a lower resolution first, then access the scaling setting. What card do you have, I might have a screenshot.

YouTube, Facebook, Website