VOGONS


dgVodooo 2.8.x and related WIP versions

Topic actions

Reply 40 of 107, by N O V A TV

User metadata
Rank Newbie
Rank
Newbie
ZellSF wrote on 2023-08-25, 09:58:

On the subject of Arcturus; you haven't reconsidering adding any hacks to make resolution forcing work better for some games, Dege?

DDrawCompat has some tweak-able hacks that allows for fixing some games that have issues in dgVoodoo with resolution forcing, for example the lines because of tiling issues in Arcturus's text boxes (though Arcturus looks sort of bad at times with DDrawCompat because of no way to force 24-bit zbuffer).

There's a sprite detection setting that can set separate clamping and filtering options based on Z coordinates.

Hello. I don't understand the above. Are you asking Mr. Dege?

Have you modded the game Arcturus yourself?
I tried to use dgvoodoo together by trying the rudimentary modding.
Only the required dgvoodoo files are simply included. (Based on latest version)
I don't have detailed knowledge of VGA 3D.

Reply 42 of 107, by Dege

User metadata
Rank l33t
Rank
l33t
ZellSF wrote on 2023-08-25, 09:58:

On the subject of Arcturus; you haven't reconsidering adding any hacks to make resolution forcing work better for some games, Dege?

DDrawCompat has some tweak-able hacks that allows for fixing some games that have issues in dgVoodoo with resolution forcing, for example the lines because of tiling issues in Arcturus's text boxes (though Arcturus looks sort of bad at times with DDrawCompat because of no way to force 24-bit zbuffer).

There's a sprite detection setting that can set separate clamping and filtering options based on Z coordinates.

Interesting idea, however I didn't think yet about such a thing, altough the subject has come up a few times. I either like general solutions or specific ones for separate games and I had/have no plan for the former, how to implement it, how to do that with keeping the performance, etc.

Reply 43 of 107, by Dege

User metadata
Rank l33t
Rank
l33t

Unfortunately I'm being inactive these days, but anyway, some minor fixes again:

  • Some D3D12 fixes including a weird issue with NV drivers (Prince of Persia)
  • Some bugfixes in the CPL
  • Fixing a common cache bug affecting both D3D11 and D3D12 (Earth Defense Force Insect Armageddon)
  • Improving the performance of user ptr Draw-calls in the D3D12 backend for small amount of vertex/index data (D3D/D3D8/9)

http://dege.fw.hu/dgVoodoo2/bin/dgVoodoo2_81_3.zip
http://dege.fw.hu/dgVoodoo2/bin/dgVoodoo2_81_3_dbg.zip

Reply 44 of 107, by Dege

User metadata
Rank l33t
Rank
l33t
Dege wrote on 2023-09-06, 18:00:
Unfortunately I'm being inactive these days, but anyway, some minor fixes again: […]
Show full quote

Unfortunately I'm being inactive these days, but anyway, some minor fixes again:

  • Some D3D12 fixes including a weird issue with NV drivers (Prince of Persia)
  • Some bugfixes in the CPL
  • Fixing a common cache bug affecting both D3D11 and D3D12 (Earth Defense Force Insect Armageddon)
  • Improving the performance of user ptr Draw-calls in the D3D12 backend for small amount of vertex/index data (D3D/D3D8/9)

http://dege.fw.hu/dgVoodoo2/bin/dgVoodoo2_81_3.zip
http://dege.fw.hu/dgVoodoo2/bin/dgVoodoo2_81_3_dbg.zip

I reuploaded this today with a regression bug fixed.

Reply 45 of 107, by Dege

User metadata
Rank l33t
Rank
l33t

I didn't have time at all recently, but I could devote 1-2 hours to dgVoodoo now and then. So, I share the current state. Not much, but since there are changes that can break this and that (like D3D6/7 hw vertex buffers) and I only did very limited testing, I'd like it to have it tested at some extent.
Also, I'm going to look into the reported issues, maybe now I'll have more time for dgv.

  • Hardware vertex buffers in D3D6/7
  • Improved DD/D3D API tracing
  • Adding support for the reference device in D3D8/9 (Operation Blockade)
  • Fixing a regression bug in DDraw compression Blt (Eurofighter Typhoon)
  • Fixing a regression crash in D3D12 UP Draw (Tomb Raider 5)
  • Fixing a freeze/crash bug in Glide D3D12 dynamic resolution changing
  • Changing/fixing a lot of things in the source using a code analyzer
  • Doubling the tooltip appearance time in the Cpl
  • Changes under the hood

http://dege.fw.hu/temp/dgVoodooWIP93.zip
http://dege.fw.hu/temp/dgVoodooWIP93_dbg.zip

Edit: I reuploaded these dll's because I finetuned something in the hw D3D6/7 vertex buffer handler.

Reply 46 of 107, by eddman

User metadata
Rank Member
Rank
Member

Do you know which games use hardware vertex buffers? I might be able to test it.

Improved DD/D3D API tracing

Now that dgvoodoo lists the interface versions, does it know which pre-d3d8 version it's wrapping, or is that only possible to determine by the user reading the log?

Reply 47 of 107, by Dege

User metadata
Rank l33t
Rank
l33t
eddman wrote on 2023-10-12, 13:18:

Do you know which games use hardware vertex buffers? I might be able to test it.

Improved DD/D3D API tracing

Now that dgvoodoo lists the interface versions, does it know which pre-d3d8 version it's wrapping, or is that only possible to determine by the user reading the log?

I don't know. I only tested vertex buffers with 3DMark2000 (benchmark mode), Unreal Tournament, Sacrifice and a scene demo (This is). That's what I know about using vb's but UT and Sacrifice use them "dynamically" which is not much different than drawing from a plain user ptr. Static usage vb's where it seems to shine.
As for the version number, well, no... The DD/D3D version wrapped is basically the one belonging to the highest number version interfaces queried...
It all can be somewhat differentitated as DX7 and pre-DX7 by the function used for the very first object factoring, but basically that's all and the debug layer dumps info about it.

Reply 48 of 107, by Dege

User metadata
Rank l33t
Rank
l33t

A little update to the last WIP:

  • A D3D/8/9 fixes (Extreme Paintbrawl 4, Max Payne, Off Road Arena)
  • Improving DDraw compatibility (Legion Gold)
  • Bugfixes and some changes in the DX debug layer (tracing)
  • Internal code changes and refactorings

http://dege.fw.hu/temp/dgVoodooWIP93_1.zip
http://dege.fw.hu/temp/dgVoodooWIP93_1_dbg.zip

Reply 49 of 107, by BEEN_Nath_58

User metadata
Rank l33t
Rank
l33t

Other dgVoodoo2 threads are closed so I had to ask it here:

Re: dgVoodoo 2 for DirectX 11

-Support for ModeX...

What is ModeX? I have seen it in the DXSDK but I am not aware of any application/game that needs it, could you specify some.

previously known as Discrete_BOB_058

Reply 50 of 107, by Dege

User metadata
Rank l33t
Rank
l33t

A little update to the last WIP. I hope I'm not breaking anything because there are a lot of changes under the hood:

=========================
WIP93.2:
=========================

  • Improving the ps shader code generator to handle D3D ck textures
    * Overhauling the general pipeline code and the capabilities of the ff pipeline
    * Also fixing the D3D12 LOD-problem
  • Forcing texture filtering did not work properly in D3D, fixed
  • D3D9 fixes (fr-054 Polar, Crush)
  • Fixing the "clipped cursor" issue when exiting D3D8/9
  • Implementing loader lock detection for all (missing) platforms (x64, arm64/ec)
  • Improving DirectShow compatibility (Project Eden)
  • A bugfix in the cpu code generator
  • Some additions in the dbg layer

http://dege.fw.hu/temp/dgVoodooWIP93_2.zip
http://dege.fw.hu/temp/dgVoodooWIP93_2_dbg.zip

Edit: I found and fixed a bug and reuploaded the files.
Edit2: I reuploaded a new version again...

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

Reply 52 of 107, by Dege

User metadata
Rank l33t
Rank
l33t
SonicDX wrote on 2023-11-09, 01:42:
terrain texture error in the game section 8 using wip 93_2 https://a.imagem.app/oJzmkZ.png […]
Show full quote

terrain texture error in the game section 8
using wip 93_2
oJzmkZ.png

Indeed, thanks! I've just reuploaded the .zip's with the fixed files.

Reply 55 of 107, by Dege

User metadata
Rank l33t
Rank
l33t
Shing wrote on 2023-11-12, 19:51:

Thanks for update! Some note.

dgVoodooWIP93_2: Battlefield 1942 crash after loading a map
dgVoodooWIP93_1: Seems to be good

Isn't that crash is occassional? One time it comes, another time it doesn't? (e.g. depending on memory allocation or sg like that)
I didn't change anything in WIP93.2 that could cause this, and I couldn't reproduce it last time either when somebody reported this problem again.

Reply 56 of 107, by Dege

User metadata
Rank l33t
Rank
l33t
BEEN_Nath_58 wrote on 2023-11-07, 06:33:
Other dgVoodoo2 threads are closed so I had to ask it here: […]
Show full quote

Other dgVoodoo2 threads are closed so I had to ask it here:

Re: dgVoodoo 2 for DirectX 11

-Support for ModeX...

What is ModeX? I have seen it in the DXSDK but I am not aware of any application/game that needs it, could you specify some.

With plain old VGA cards, only 64K video memory could be addressed by the CPU through the memory range of 0xa00000-0xb00000.
Display modes like 320x240x8 required more than 64K memory so the framebuffer couldn't be accessed in the plain old VGA-way, without a true linear frame buffer introduced in the VESA standard for SVGA cards.
But there was a trick, if you enabled the plane-mode memory layout (that was the only way to access VGA-memory in 16 color modes) then the VGA frame buffer was divided into 4 parts (planes) and you could choose which one of them to be mapped into the 0xa000 memory segment. But these parts weren't continuous 64KB "memory windows" of the frame buffer like with the 'bank-mapped' frame buffer (VESA) but contained a plane of the image. A plane contained every fourth neighboring pixels, so drawing or even copying images into such a memory layout was tricky and inconvenient.
DDraw X-mode was invented for old VGA cards (without VESA support) and meant that planar memory layout. Also, the DDraw runtime linearized the memory range to the application to kind of emulate a linear frame buffer but it was slow of course.
Anyway, I think you can found stuffs describing this all along with the general planar VGA memory layout and memory access.

Reply 57 of 107, by Dege

User metadata
Rank l33t
Rank
l33t

I release this to publish the fixes for the general D3D pipeline regression bug(s) introduced in the latest code refactor:

=========================
WIP93.3:
=========================

  • - D3D pipeline and shader fixes (Nitro Stunt Racing / Trackmania Sunrise Extreme)
    (but they can affect other games as well)

http://dege.fw.hu/temp/dgVoodooWIP93_3.zip
http://dege.fw.hu/temp/dgVoodooWIP93_3_dbg.zip

Reply 58 of 107, by Shing

User metadata
Rank Newbie
Rank
Newbie
Dege wrote on 2023-11-13, 19:28:

Isn't that crash is occassional? One time it comes, another time it doesn't? (e.g. depending on memory allocation or sg like that)
I didn't change anything in WIP93.2 that could cause this, and I couldn't reproduce it last time either when somebody reported this problem again.

Weird. I didn't have crash issues since years with dgVoodoo. I tested more maps and it always crashed now. But.... WIP93.3 is stable again, so thank you for the update.

Reply 59 of 107, by lowenz

User metadata
Rank Oldbie
Rank
Oldbie

Very minor (but interesting) HUD problem with UT99 in DDRAW updated with this: https://github.com/OldUnreal/UnrealTournament … s/tag/v469d-rc4

Forcing the AF 16x in dgVoodoo2 (you can see some line artifacts with the same colour of the energy belt, every time with a slighly different lenght and position in the same HUD zone):
AF16x.jpg

No AF in dgVoodoo2:
NoAF.jpg