dgVoodoo 2 for DirectX 11

General information and assistance with dgVoodoo.

Re: dgVoodoo 2 for DirectX 11

Postby Expack3 » 2015-7-27 @ 00:59

I also get this error when I attempt to save a quicksave in Deus Ex after about ~2 hours worth of gameplay:
---------------------------
Critical Error
---------------------------
Ran out of virtual memory. To prevent this condition, you must free up more space on your primary hard disk.



History: FMallocWindows::Malloc <- DDeusExGameEngine::SaveGame <- UObject::ProcessEvent <- (JCDentonMale 14_OceanLab_Lab.JCDentonMale4, Function DeusEx.DeusExPlayer.QuickSave) <- UObject::ScriptConsoleExec <- (JCDentonMale 14_OceanLab_Lab.JCDentonMale4) <- UPlayer::Exec <- UViewport::Exec <- UWindowsViewport::Exec <- UInput::ExecInputCommands <- XInputExt::Process <- UEngine::InputEvent <- UWindowsViewport::CauseInputEvent <- WM_KEYDOWN <- UWindowsViewport::ViewportWndProc <- WWindow::StaticProc <- DispatchMessage <- 000D07E6 256 <- MessagePump <- MainLoop
Expack3
Member
 
Posts: 169
Joined: 2015-5-24 @ 23:18

Re: dgVoodoo 2 for DirectX 11

Postby DracoNihil » 2015-7-27 @ 02:19

I love how misleading that error description is.. Malloc can fail for more reasons than that. There's also a long standing bug in Unreal 1 where if you're playing online or otherwise you receive chat messages in your console (the stock Engine.Console), you will get a Malloc crash if the console is opened when the level changes. Something to do with null pointers I think.

You should also check to see Deus Ex's working set, if it tries to go past 2 GB it will most likely crash because that's the memory limit it would hit.
User avatar
DracoNihil
Oldbie
 
Posts: 1215
Joined: 2011-10-09 @ 14:26
Location: Independence, KS

Re: dgVoodoo 2 for DirectX 11

Postby Dege » 2015-7-27 @ 10:57

Carmageddon95 (DDraw) does pointer hacks for rendering which is not supported by dgVoodoo, so its menu screen is totally messed up.

There are still a few minor issues I want to check before releasing a new version but I've done a lot of fixes so far, so I share the current state:

- broken mirror blit from surface to the same surface, fixed
- full support for blitting from primary surface
- bugs in point/line drawing from execute buffers (Moto Racer 2)
- bug with handling rendering windows (Empire Earth) (but I'm not sure if it fix your problem with AOC, Expack3, it's still an open issue, altough it works perfectly for me)
- full support for simultaneous DX/Glide driving (Requiem 3Dfx)
- Clear surfaces after creation (Breath of Fire4, altough it's not a DDraw requirement)
- Colorkeying should work properly now
- Other bugs in blitting fixed (Galshell)
- Other general bugs fixed (TDR 2000, ...)

http://dege.fw.hu/temp/dgVoodooWIP10.zip

I want to make only minor changes till the next version except if something working so far is broken.
Dege
Oldbie
 
Posts: 1295
Joined: 2003-9-04 @ 11:06

Re: dgVoodoo 2 for DirectX 11

Postby ZellSF » 2015-7-27 @ 11:58

Star Wars Episode 1 Racer needs fast video memory access to display correctly, this works in WIP9, but WIP10 gives me this:
---------------------------
Episode I Racer: SWEP1RCR.EXE - Application Error
---------------------------
The exception Guard Page Exception

A page of memory that marks the end of a data structure, such as a stack or an array, has been accessed.

(0x80000001) occurred in the application at location 0x1001beb0.


Click on OK to terminate the program
---------------------------
OK
---------------------------
ZellSF
Oldbie
 
Posts: 1146
Joined: 2006-1-01 @ 18:19

Re: dgVoodoo 2 for DirectX 11

Postby Dege » 2015-7-27 @ 12:24

Uhmm... thanks...

This proved to be a killer bug for fastvidmem in general.

Please re-download WIP10, I did a quick fix.
Dege
Oldbie
 
Posts: 1295
Joined: 2003-9-04 @ 11:06

Re: dgVoodoo 2 for DirectX 11

Postby ZellSF » 2015-7-27 @ 14:45

Do you have Star Wars Episode 1 Racer? It's a problem game that's so close to perfect on dgVoodoo2, but it still has some minor depth (?) issues:

https://www.youtube.com/watch?v=kyCE1rO9sRM

Look at the pod racer when the camera spins around it before the race. Also look at how the rock I drive into looks from a distance. It's the same natively, but looks perfect in WineD3D.
ZellSF
Oldbie
 
Posts: 1146
Joined: 2006-1-01 @ 18:19

Re: dgVoodoo 2 for DirectX 11

Postby Expack3 » 2015-7-27 @ 15:02

Dege wrote:Carmageddon95 (DDraw) does pointer hacks for rendering which is not supported by dgVoodoo, so its menu screen is totally messed up.
- bug with handling rendering windows (Empire Earth) (but I'm not sure if it fix your problem with AOC, Expack3, it's still an open issue, altough it works perfectly for me)

Found the bug: the GOG.com version disables DPI scaling for both the base game and its expansion. Disabling this compatibility setting for those games fixed the menu blinking. :blah:
Expack3
Member
 
Posts: 169
Joined: 2015-5-24 @ 23:18

Re: dgVoodoo 2 for DirectX 11

Postby Expack3 » 2015-7-27 @ 15:34

DracoNihil wrote:You should also check to see Deus Ex's working set, if it tries to go past 2 GB it will most likely crash because that's the memory limit it would hit.

It would seem that's occurring here, as Deus Ex keeps allocating memory, but never deallocates it (based on Task Manager showing a slow-but-noticeable rise in memory usage). While I'm going to try and find something more suited for memory profiling, it seems like there be a leak! Also, as a question, does Dues Ex's default Direct3D renderer have memory issues with precaching enabled? That's the only thing I can think of since my only experience with Deus Ex spawns from using the DirectX 10 third-party renderer.
Expack3
Member
 
Posts: 169
Joined: 2015-5-24 @ 23:18

Re: dgVoodoo 2 for DirectX 11

Postby Dege » 2015-7-27 @ 19:44

ZellSF wrote:Do you have Star Wars Episode 1 Racer? It's a problem game that's so close to perfect on dgVoodoo2, but it still has some minor depth (?) issues:

https://www.youtube.com/watch?v=kyCE1rO9sRM

Look at the pod racer when the camera spins around it before the race. Also look at how the rock I drive into looks from a distance. It's the same natively, but looks perfect in WineD3D.


Yes, I have the game and saw the issue but didn't care because it was the same natively...
I could examine it though.
It's similar to Lego Island 2 which uses z-buffer but the occlusion is wrong.
Dege
Oldbie
 
Posts: 1295
Joined: 2003-9-04 @ 11:06

Re: dgVoodoo 2 for DirectX 11

Postby Dege » 2015-7-28 @ 09:30

ZellSF wrote:Look at the pod racer when the camera spins around it before the race. Also look at how the rock I drive into looks from a distance. It's the same natively, but looks perfect in WineD3D.


Which version of WineD3D are you using? I get an 'Unable to setup 3D Mode' error message at launching the game.
BTW, I had a look what's going on with the rendering: this game uses a 16 bit z-buffer and the ingame polygon z-values aren't even distributed across the whole z-range (only ~0.7 - 0.99).
So I don't wonder about z-glitches but I'm curious about WineD3D.
Dege
Oldbie
 
Posts: 1295
Joined: 2003-9-04 @ 11:06

Re: dgVoodoo 2 for DirectX 11

Postby Firtasik » 2015-7-28 @ 10:20

Thanks for the update!

Carma 95: Well, I have the GOG version, those settings are disabled and it's still bad. Well, it's not a big problem, Carma 95 works fine with cnc-ddraw.

Carma TDR 2000: Still got the same error. This bug is old: http://www.compatdb.org/forums/topic/17 ... 00-problem
http://www.cwaboard.co.uk/viewtopic.php?f=6&t=6094

Mip Filter looks fixed, though. BTW, the game works without dgVoodoo, but it's slow.

Moto Racer 2: Looks OK!

Requiem (with the compatibility patch): v1.3 Glide works OK, v1.2 D3D is a bit slow, there's no dgVoodoo logo (only in the intro/menu), DX8 in 1.2 due to patching? Hmmmm, I don't know.
Anyway, I'm OK with 1.3 Glide.



Moto Racer 1 (D3D mode)
: Skipping the DSI logo crashes the game.

Desperados: Wanted Dead or Alive: mouse movement and the viewing range of the NPCs significant slow down the game. The latter can be fixed with "Fast video memory access".
11 1 111 11 1 1 1 1 1 11 1 1 111 1 111 1 1 1 1 111
User avatar
Firtasik
Member
 
Posts: 419
Joined: 2013-7-21 @ 19:07

Re: dgVoodoo 2 for DirectX 11

Postby Dege » 2015-7-28 @ 10:36

Firtasik wrote:Carma TDR 2000: Still got the same error. This bug is old: http://www.compatdb.org/forums/topic/17 ... 00-problem
http://www.cwaboard.co.uk/viewtopic.php?f=6&t=6094

Mip Filter looks fixed, though. BTW, the game works without dgVoodoo, but it's slow.



I use the original game and deleting TDR2000.gfx causes it to re-detect the display at next launch. Then I can select any resolution, and it works.
I don't know why it is but if I change video card (inside dgVoodoo or switching to native DX) then next time the game throw me out with some error message or starts but shows rendering glitches. :confused:
Dege
Oldbie
 
Posts: 1295
Joined: 2003-9-04 @ 11:06

Re: dgVoodoo 2 for DirectX 11

Postby teleguy » 2015-7-28 @ 13:22

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.

Dege wrote:I hope it was the Glide renderer. It seems some ATI drivers (for HD7xxx, R9) has issues with it.
I suspect it has to do sg with Glide shaders, the driver cannot translate (one of) them and gets into infinite loop(?).
It shouldn't be a problem because the shader binaries are compiled by MS FXC, they aren't "handmade".
The only way trace it down and workaround this is commenting out parts of the shader(s) step by step and see if it still drives the driver into a buggy path.
I don't have such an ATI card unfortunately, ... but maybe maybe I could borrow one from my workplace somehow.


What if you create a program that tests each shader one by one and give it to AMD users?
teleguy
Member
 
Posts: 392
Joined: 2004-2-28 @ 18:54

Re: dgVoodoo 2 for DirectX 11

Postby HunterZ » 2015-7-28 @ 14:23

How much of DirectDraw/Direct3D is dgVoodoo2 emulating at this point? 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)? Note that the GOG releases of these games have other tools or hacks built in to try to fix the problem (well, Fallout does at least; I don't own BG1 on GOG).
User avatar
HunterZ
l33t++
 
Posts: 6075
Joined: 2003-1-31 @ 19:04
Location: Seattle

Re: dgVoodoo 2 for DirectX 11

Postby Gamecollector » 2015-7-28 @ 16:15

teleguy wrote:There's an issue with Requiem and nglide.
?
Have tested this game not so long ago (found the info about the VirtualRegistry DX7A ACT fix). Works perfectly (well, Catalyst AI="disabled" generates some graphical errors).
Asus P4P800 SE/Pentium4 3.2E/2 Gb DDR400B,
Radeon HD3850 Agp (Sapphire), Catalyst 14.4 (XpProSp3).
Voodoo2 12 MB SLI, Win2k drivers 1.02.00 (XpProSp3).
User avatar
Gamecollector
Oldbie
 
Posts: 1309
Joined: 2010-10-06 @ 22:17

Re: dgVoodoo 2 for DirectX 11

Postby teleguy » 2015-7-28 @ 16:41

Gamecollector wrote:Have tested this game not so long ago (found the info about the VirtualRegistry DX7A ACT fix). Works perfectly (well, Catalyst AI="disabled" generates some graphical errors).


My guess is that message refers to video ram. Serveral old games don't properly detect vram if it's bigger than 2 GB. All the other Glide wrappers I tried limit vram in some way. Not sure why that's not an issue with wined3d.
teleguy
Member
 
Posts: 392
Joined: 2004-2-28 @ 18:54

Re: dgVoodoo 2 for DirectX 11

Postby ZellSF » 2015-7-28 @ 16:55

teleguy wrote:
Gamecollector wrote:Have tested this game not so long ago (found the info about the VirtualRegistry DX7A ACT fix). Works perfectly (well, Catalyst AI="disabled" generates some graphical errors).


My guess is that message refers to video ram. Serveral old games don't properly detect vram if it's bigger than 2 GB. All the other Glide wrappers I tried limit vram in some way. Not sure why that's not an issue with wined3d.

It is, I had to change a WINE reg key that sets video memory size to play Breath of Fire IV.
Dege wrote:Which version of WineD3D are you using? I get an 'Unable to setup 3D Mode' error message at launching the game.
BTW, I had a look what's going on with the rendering: this game uses a 16 bit z-buffer and the ingame polygon z-values aren't even distributed across the whole z-range (only ~0.7 - 0.99).
So I don't wonder about z-glitches but I'm curious about WineD3D.

The one included in the installer available here.
ZellSF
Oldbie
 
Posts: 1146
Joined: 2006-1-01 @ 18:19

Re: dgVoodoo 2 for DirectX 11

Postby Expack3 » 2015-7-28 @ 17:42

HunterZ wrote:How much of DirectDraw/Direct3D is dgVoodoo2 emulating at this point? 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)? Note that the GOG releases of these games have other tools or hacks built in to try to fix the problem (well, Fallout does at least; I don't own BG1 on GOG).

I can't tell you the answer to that - I'm not Dege - but if you own the games in some form or another, why don't you try it out yourself? If something breaks, you can simply remove the DLLs.
Expack3
Member
 
Posts: 169
Joined: 2015-5-24 @ 23:18

Re: dgVoodoo 2 for DirectX 11

Postby teleguy » 2015-7-28 @ 18:12

ZellSF wrote:
teleguy wrote:
Gamecollector wrote:Have tested this game not so long ago (found the info about the VirtualRegistry DX7A ACT fix). Works perfectly (well, Catalyst AI="disabled" generates some graphical errors).


My guess is that message refers to video ram. Serveral old games don't properly detect vram if it's bigger than 2 GB. All the other Glide wrappers I tried limit vram in some way. Not sure why that's not an issue with wined3d.

It is, I had to change a WINE reg key that sets video memory size to play Breath of Fire IV.


I meant why nGlide works in Requiem if you use Wined3d for the ddraw part.
teleguy
Member
 
Posts: 392
Joined: 2004-2-28 @ 18:54

Re: dgVoodoo 2 for DirectX 11

Postby Dege » 2015-7-28 @ 18:49

HunterZ wrote:How much of DirectDraw/Direct3D is dgVoodoo2 emulating at this point?

I hope I won't be a poseur but there are no missing basic areas in the emulation by now.
I always aimed to bring the emulation quality to the native DX as close as possible.
dgVoodoo's internal architecture is like that of native DX:
- A hw independent frame system
- A hw dependant implementation called by the frame system through an interface (DDI)

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.

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.
Dege
Oldbie
 
Posts: 1295
Joined: 2003-9-04 @ 11:06

PreviousNext

Return to dgVoodoo General

Who is online

Users browsing this forum: No registered users and 3 guests