Do we need to spend more time developing DX9?
HeliX wrapper has not changed even a tiny bit since he disappeared. With all the progress made by 3Dmigoto our DX9 wrapper seems a bit outdated. One could wish for a capable DX9 wrapper more in line with 3Dmigoto. My DX9 dll is very far behind HeliX just like my DX11 dll is very far behind 3Dmigoto. Not suprising considering my long break from dll development.
HeliX wrapper has not changed even a tiny bit since he disappeared.
With all the progress made by 3Dmigoto our DX9 wrapper seems a bit outdated.
One could wish for a capable DX9 wrapper more in line with 3Dmigoto.
My DX9 dll is very far behind HeliX just like my DX11 dll is very far behind 3Dmigoto.
Not suprising considering my long break from dll development.

Thanks to everybody using my assembler it warms my heart.
To have a critical piece of code that everyone can enjoy!
What more can you ask for?

donations: ulfjalmbrant@hotmail.com

#1
Posted 02/27/2018 07:27 PM   
I can't recall reading about any recent DX9 titles that were unfixable due to problems with Helixmod. I don't think it's worth spending time on.
I can't recall reading about any recent DX9 titles that were unfixable due to problems with Helixmod. I don't think it's worth spending time on.

#2
Posted 02/28/2018 05:09 AM   
I have 3 DX9 games left to fix completely. These are the games and their remaining problems: - Tales of Zestiria: shadows and cloud shadows. I haven't figured out how to fix them yet. Mostly because they (character shadows) are perfect at 0 convergence but with more convergence they are a bit screwed up. - Tales of Berseria: same, and also lighting that I supposedly fixed but it "snaps" to a somewhat different position when you are close. Position also a bit wrong before the snap. But their haloing problems are fixed. - Vanquish: 3D performance being not even 33% of the 2D performance due to some weird CPU bottleneck is already discouraging. Shadows and lighting are broken and limiting the shaders available to hunting to the ones in the scene leads to unavoidable crashes when cycling through them. So it's not fun at all to spend several minutes to find a pixel shader. I fixed haloing issues though. If 3Dmigoto could work in DX9 games with HLSL and all its features, maybe some of them would be fixed by now. But yeah, there are almost no new DX9 games.
I have 3 DX9 games left to fix completely. These are the games and their remaining problems:

- Tales of Zestiria: shadows and cloud shadows. I haven't figured out how to fix them yet. Mostly because they (character shadows) are perfect at 0 convergence but with more convergence they are a bit screwed up.

- Tales of Berseria: same, and also lighting that I supposedly fixed but it "snaps" to a somewhat different position when you are close. Position also a bit wrong before the snap. But their haloing problems are fixed.

- Vanquish: 3D performance being not even 33% of the 2D performance due to some weird CPU bottleneck is already discouraging. Shadows and lighting are broken and limiting the shaders available to hunting to the ones in the scene leads to unavoidable crashes when cycling through them. So it's not fun at all to spend several minutes to find a pixel shader. I fixed haloing issues though.


If 3Dmigoto could work in DX9 games with HLSL and all its features, maybe some of them would be fixed by now.

But yeah, there are almost no new DX9 games.

CPU: Intel Core i7 7700K @ 4.9GHz
Motherboard: Gigabyte Aorus GA-Z270X-Gaming 5
RAM: GSKILL Ripjaws Z 16GB 3866MHz CL18
GPU: Gainward Phoenix 1080 GLH
Monitor: Asus PG278QR
Speakers: Logitech Z506
Donations account: masterotakusuko@gmail.com

#3
Posted 02/28/2018 07:32 AM   
I was thinking about older games for the most part. Some genres would improve is you got a software mouse cursor. If we replace DX9 wrapper we would be able to do more with DX9. It might even be possible to port SBS/OU shaders to DX9.
I was thinking about older games for the most part. Some genres would improve is you got a software mouse cursor. If we replace DX9 wrapper we would be able to do more with DX9.

It might even be possible to port SBS/OU shaders to DX9.

Thanks to everybody using my assembler it warms my heart.
To have a critical piece of code that everyone can enjoy!
What more can you ask for?

donations: ulfjalmbrant@hotmail.com

#4
Posted 02/28/2018 10:15 AM   
I still don't think it's worth spending time on - the older games mostly work great in Helixmod, new DX9 games aren't really a thing any more, and will continue to decline. The benefits are minimal.
I still don't think it's worth spending time on - the older games mostly work great in Helixmod, new DX9 games aren't really a thing any more, and will continue to decline. The benefits are minimal.

#5
Posted 02/28/2018 10:29 AM   
Yeah, I agree just getting all the current HeliX dll features would take considerable time with no benefit. Only benefit is if we go beyond HeliX features one way or another.
Yeah, I agree just getting all the current HeliX dll features would take considerable time with no benefit.
Only benefit is if we go beyond HeliX features one way or another.

Thanks to everybody using my assembler it warms my heart.
To have a critical piece of code that everyone can enjoy!
What more can you ask for?

donations: ulfjalmbrant@hotmail.com

#6
Posted 02/28/2018 11:47 AM   
I agree with Masterotaku. There are some DX9 games that haven't been fixed. Vanquish being one of them. I'm not sure if it is an issue with the wrapper itself being more complicated than 3Dmigoto to hunt/fix shaders. I'm sure Master and a few other would benefit with an updated wrapper.
I agree with Masterotaku. There are some DX9 games that haven't been fixed. Vanquish being one of them.

I'm not sure if it is an issue with the wrapper itself being more complicated than 3Dmigoto to hunt/fix shaders.

I'm sure Master and a few other would benefit with an updated wrapper.

#7
Posted 03/01/2018 09:44 PM   
The issue is mostly mine. I'm just not used to fixing shadows in DX9 games, and also happens that shadow/lighting shaders are a bit weird in this game (or I was modifying the wrong ones). I'm sure that DX9 fixing experts would be able to fix it. I'll go back to that game eventually, when my 3D fixing backlog is a lot smaller. Let's see if by then there are CPUs with enough single core performance to reliably play Vanquish at 60fps in 3D.
The issue is mostly mine. I'm just not used to fixing shadows in DX9 games, and also happens that shadow/lighting shaders are a bit weird in this game (or I was modifying the wrong ones). I'm sure that DX9 fixing experts would be able to fix it. I'll go back to that game eventually, when my 3D fixing backlog is a lot smaller. Let's see if by then there are CPUs with enough single core performance to reliably play Vanquish at 60fps in 3D.

CPU: Intel Core i7 7700K @ 4.9GHz
Motherboard: Gigabyte Aorus GA-Z270X-Gaming 5
RAM: GSKILL Ripjaws Z 16GB 3866MHz CL18
GPU: Gainward Phoenix 1080 GLH
Monitor: Asus PG278QR
Speakers: Logitech Z506
Donations account: masterotakusuko@gmail.com

#8
Posted 03/01/2018 10:09 PM   
If I find a game that is DX9 I'm overcome with a feeling of dread remembering how much I would need to restart the game and deal with crashes if using Helix Mod, so I just tend to hit Alt+F4 and find something else to do instead. I recall reading one of DJ-RK's posts where he said pretty much the same thing. I recently spent a bit of time investigating one of the crashes in Helix Mod actually - I binary patched Helix Mod to get some more debug info and so I now know what triggered the crash (corrupt pixel shader list), but not how the list managed to get into the corrupt state it was in. Without source code there's not much else I can do (I mean, potentially I could, but it would be an uphill battle and not really worth my time) - I've fired Helix an email to see if he might be willing to release the source code (either publicly as open source or just privately to me), so we will see if anything comes of that. In my mind of thinking there is no real point in trying to replace Helix Mod - I use many of the advanced features of Helix Mod (including some that were never documented as far as I know), which is even the case in a relatively simple fix (e.g. from GG:DP): [code] ; Shadow shaders to use for depth sources [PS0A1BAAB9] GetSampler1FromReg = 0 GetConst1FromReg = 2 [VSFE0DB3C7] ; UI - Mouse, etc SetSampler1ToReg = 259 SetConst1ToReg = 150 CheckTexCRC = true VBOffsetList = 0; UseDefinedOnly = false GetVertex = true FirstVertexPosReg = 170 MousePosReg = 180 [VBFE0DB3C7.0] [/code] Montague's Mount is similar, using a bunch of undocumented (and slightly broken) features like MakeWTexture, DepthWRT, DepthWReg, etc. Dreamfall Chapters (before they switched to DX11) was even more crazy, getting the position of a specific HUD element but not others. Of course all the Unity games make full use of matrix and constant copying support for their lighting as standard. So, a replacement DX9 wrapper wouldn't even be useful to me until it had support for all those features, or a superior version of them (like a port of my command list code back to DX9, but DX9 limitations would mean it still isn't as powerful as it is in DX11 as is, and may need new complementing features to make up for it). That would be a lot of effort for almost zero new games, and realistically is just not worth doing. However, if we had the source code for Helix Mod we could fix bugs, add some quality of life improvements and if we need new features we could add it there. That would make sense, and as far as I'm concerned that is the *only* approach even worth considering for DX9 at this stage, so hopefully Helix will agree.
If I find a game that is DX9 I'm overcome with a feeling of dread remembering how much I would need to restart the game and deal with crashes if using Helix Mod, so I just tend to hit Alt+F4 and find something else to do instead. I recall reading one of DJ-RK's posts where he said pretty much the same thing.

I recently spent a bit of time investigating one of the crashes in Helix Mod actually - I binary patched Helix Mod to get some more debug info and so I now know what triggered the crash (corrupt pixel shader list), but not how the list managed to get into the corrupt state it was in. Without source code there's not much else I can do (I mean, potentially I could, but it would be an uphill battle and not really worth my time) - I've fired Helix an email to see if he might be willing to release the source code (either publicly as open source or just privately to me), so we will see if anything comes of that.

In my mind of thinking there is no real point in trying to replace Helix Mod - I use many of the advanced features of Helix Mod (including some that were never documented as far as I know), which is even the case in a relatively simple fix (e.g. from GG:DP):

; Shadow shaders to use for depth sources
[PS0A1BAAB9]
GetSampler1FromReg = 0
GetConst1FromReg = 2

[VSFE0DB3C7]
; UI - Mouse, etc
SetSampler1ToReg = 259
SetConst1ToReg = 150
CheckTexCRC = true
VBOffsetList = 0;
UseDefinedOnly = false
GetVertex = true
FirstVertexPosReg = 170
MousePosReg = 180
[VBFE0DB3C7.0]

Montague's Mount is similar, using a bunch of undocumented (and slightly broken) features like MakeWTexture, DepthWRT, DepthWReg, etc. Dreamfall Chapters (before they switched to DX11) was even more crazy, getting the position of a specific HUD element but not others. Of course all the Unity games make full use of matrix and constant copying support for their lighting as standard.

So, a replacement DX9 wrapper wouldn't even be useful to me until it had support for all those features, or a superior version of them (like a port of my command list code back to DX9, but DX9 limitations would mean it still isn't as powerful as it is in DX11 as is, and may need new complementing features to make up for it).

That would be a lot of effort for almost zero new games, and realistically is just not worth doing.

However, if we had the source code for Helix Mod we could fix bugs, add some quality of life improvements and if we need new features we could add it there. That would make sense, and as far as I'm concerned that is the *only* approach even worth considering for DX9 at this stage, so hopefully Helix will agree.

2x Geforce GTX 980 in SLI provided by NVIDIA, i7 6700K 4GHz CPU, Asus 27" VG278HE 144Hz 3D Monitor, BenQ W1070 3D Projector, 120" Elite Screens YardMaster 2, 32GB Corsair DDR4 3200MHz RAM, Samsung 850 EVO 500G SSD, 4x750GB HDD in RAID5, Gigabyte Z170X-Gaming 7 Motherboard, Corsair Obsidian 750D Airflow Edition Case, Corsair RM850i PSU, HTC Vive, Win 10 64bit

Alienware M17x R4 w/ built in 3D, Intel i7 3740QM, GTX 680m 2GB, 16GB DDR3 1600MHz RAM, Win7 64bit, 1TB SSD, 1TB HDD, 750GB HDD

Pre-release 3D fixes, shadertool.py and other goodies: http://github.com/DarkStarSword/3d-fixes
Support me on Patreon: https://www.patreon.com/DarkStarSword or PayPal: https://www.paypal.me/DarkStarSword

#9
Posted 03/02/2018 09:17 PM   
Scroll To Top