VOGONS


dgVoodoo 2 for DirectX 11

Topic actions

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

Reply 1000 of 3952, by Expack3

User metadata
Rank Member
Rank
Member

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

Reply 1001 of 3952, by DracoNihil

User metadata
Rank Oldbie
Rank
Oldbie

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.

Steam Profile
YouTube Channel
Seal of Nehahra

Reply 1002 of 3952, by Dege

User metadata
Rank Oldbie
Rank
Oldbie

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.

Reply 1003 of 3952, by ZellSF

User metadata
Rank Oldbie
Rank
Oldbie

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 Pa […]
Show full quote

---------------------------
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
---------------------------

Reply 1005 of 3952, by ZellSF

User metadata
Rank Oldbie
Rank
Oldbie

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.

Reply 1006 of 3952, by Expack3

User metadata
Rank Member
Rank
Member
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. 😒

Reply 1007 of 3952, by Expack3

User metadata
Rank Member
Rank
Member
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.

Reply 1008 of 3952, by Dege

User metadata
Rank Oldbie
Rank
Oldbie
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.

Reply 1009 of 3952, by Dege

User metadata
Rank Oldbie
Rank
Oldbie
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.

Reply 1010 of 3952, by Firtasik

User metadata
Rank Member
Rank
Member

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/17276-ca … tdr2000-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

Reply 1011 of 3952, by Dege

User metadata
Rank Oldbie
Rank
Oldbie
Firtasik wrote:

Carma TDR 2000: Still got the same error. This bug is old: http://www.compatdb.org/forums/topic/17276-ca … tdr2000-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. 😕

Reply 1012 of 3952, by teleguy

User metadata
Rank Member
Rank
Member

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 […]
Show full quote

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?

Reply 1013 of 3952, by HunterZ

User metadata
Rank l33t++
Rank
l33t++

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).

Reply 1014 of 3952, by Gamecollector

User metadata
Rank Oldbie
Rank
Oldbie
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).

Reply 1015 of 3952, by teleguy

User metadata
Rank Member
Rank
Member
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.

Reply 1016 of 3952, by ZellSF

User metadata
Rank Oldbie
Rank
Oldbie
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.

Reply 1017 of 3952, by Expack3

User metadata
Rank Member
Rank
Member
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.

Reply 1018 of 3952, by teleguy

User metadata
Rank Member
Rank
Member
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.

Reply 1019 of 3952, by Dege

User metadata
Rank Oldbie
Rank
Oldbie
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.