Will we be able to fix dx10/11 games?
My feeling when a couple thousand individual shaders are dumped is like hitting my head against a brick wall. I'm completely outside my comfort zone to begin with and the task is immense. Personally I would like to improve my shader knowledge and develop tools to improve the workflow where possible. I'm creating a new thread because the challenges is the same regardless of wrapper used.
My feeling when a couple thousand individual shaders are dumped is like hitting my head against a brick wall.

I'm completely outside my comfort zone to begin with and the task is immense.

Personally I would like to improve my shader knowledge and develop tools to improve the workflow where possible.

I'm creating a new thread because the challenges is the same regardless of wrapper used.

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 01/22/2014 10:00 PM   
So basically you are dumping all the shaders? I know Helix mod (the debug version) allows you to select what shader to dump. (the visible ones) Regardless, all (most)shaders are manually written, I don't know any way of simplifying the process rather than manually edit each one (of those needed), or... - you could try to replicate/extend what 3D Vision automatic is doing (automatically hook and add "depth" to the shaders) - use a script/program to automatically try and add the "depth" to the shaders... I still think that the best option is to manually select the shaders you want to dump, but the "dump all" shaders can provide also benefit !!! Regardless, Is a very time consuming thing (like any reverse engineering and fixing techniques). What does anyone else thinks?
So basically you are dumping all the shaders?
I know Helix mod (the debug version) allows you to select what shader to dump. (the visible ones)

Regardless, all (most)shaders are manually written, I don't know any way of simplifying the process rather than manually edit each one (of those needed), or...
- you could try to replicate/extend what 3D Vision automatic is doing (automatically hook and add "depth" to the shaders)
- use a script/program to automatically try and add the "depth" to the shaders...

I still think that the best option is to manually select the shaders you want to dump, but the "dump all" shaders can provide also benefit !!!

Regardless, Is a very time consuming thing (like any reverse engineering and fixing techniques).

What does anyone else thinks?

1x Palit RTX 2080Ti Pro Gaming OC(watercooled and overclocked to hell)
3x 3D Vision Ready Asus VG278HE monitors (5760x1080).
Intel i9 9900K (overclocked to 5.3 and watercooled ofc).
Asus Maximus XI Hero Mobo.
16 GB Team Group T-Force Dark Pro DDR4 @ 3600.
Lots of Disks:
- Raid 0 - 256GB Sandisk Extreme SSD.
- Raid 0 - WD Black - 2TB.
- SanDisk SSD PLUS 480 GB.
- Intel 760p 256GB M.2 PCIe NVMe SSD.
Creative Sound Blaster Z.
Windows 10 x64 Pro.
etc


My website with my fixes and OpenGL to 3D Vision wrapper:
http://3dsurroundgaming.com

(If you like some of the stuff that I've done and want to donate something, you can do it with PayPal at tavyhome@gmail.com)

#2
Posted 01/22/2014 10:23 PM   
I'm not sure I fully understand the issue you describe, but my experience with DX9 games when there are a large numbers of shaders is that there are usually a handful of 'patterns' that emerge whereby the 'same' fix gets applied to hundreds of shaders. In these cases it can be automated using a script - this is how Helix lua scripts work, and is how I manage to fix games now using 'offline' scripts. It still takes a bit of work and creativity to work out how to fix the first few problems in the first place, but things like shadows and lighting are often quite formulaic (once you work it out). One feature Helix implemented in his DX9 debugger was to only display on the OSD the 'currently active' shaders and this reduces the effort of stepping through problems enormously - it was a bit of a game changer really. Also, Tsaebeht has his binary search tool which cuts down searching through N shaders to Log(base2)N, so the large number of shaders is less of an issue than it seems. Or perhaps I am mis-understanding what you mean?
I'm not sure I fully understand the issue you describe, but my experience with DX9 games when there are a large numbers of shaders is that there are usually a handful of 'patterns' that emerge whereby the 'same' fix gets applied to hundreds of shaders. In these cases it can be automated using a script - this is how Helix lua scripts work, and is how I manage to fix games now using 'offline' scripts. It still takes a bit of work and creativity to work out how to fix the first few problems in the first place, but things like shadows and lighting are often quite formulaic (once you work it out). One feature Helix implemented in his DX9 debugger was to only display on the OSD the 'currently active' shaders and this reduces the effort of stepping through problems enormously - it was a bit of a game changer really. Also, Tsaebeht has his binary search tool which cuts down searching through N shaders to Log(base2)N, so the large number of shaders is less of an issue than it seems.
Or perhaps I am mis-understanding what you mean?

Rig: Intel i7-8700K @4.7GHz, 16Gb Ram, SSD, GTX 1080Ti, Win10x64, Asus VG278

#3
Posted 01/22/2014 10:26 PM   
A couple of thousand shaders isn't really a big deal tbh or at least used to it. We make use of headers/comparing so we know which shaders to fix. Helix I am pretty sure rarely ever has to dump individual shaders. Normally I fix 2 or 3 effects. Then dumpall and use dumpall to fix as many other similiar effects as possible. ---- Though its since extremely time consuming.
A couple of thousand shaders isn't really a big deal tbh or at least used to it.

We make use of headers/comparing so we know which shaders to fix. Helix I am pretty sure rarely ever has to dump individual shaders.

Normally I fix 2 or 3 effects. Then dumpall and use dumpall to fix as many other similiar effects as possible.

----
Though its since extremely time consuming.

Co-founder of helixmod.blog.com

If you like one of my helixmod patches and want to donate. Can send to me through paypal - eqzitara@yahoo.com

#4
Posted 01/22/2014 11:27 PM   
Flugan, like i wrote by email....the dump all function is very important... binary search + batch fixes is 90% of a game fix. Tridef use only batch fixes on the fly. Helix Lua script is batch fixes. Well i grab the beta 3 wrapper, dump all, do a search for shadows, found 31 PS related and do a massive remove script (basically disable the output of each shader)...results in 10 minutes: [url]https://s3.amazonaws.com/dhr/AC4BFSP01_99.jps[/url] [url]https://s3.amazonaws.com/dhr/AC4BFSP02_99.jps[/url] I think 98% of bad shadows are removed.....by chance (lucky me) the good shadows are not disable (i think are related to another kind of shadows), see first Screenshot around the ship. The game looks a little to bright, but better than with 2D shadows. **First Helix community fixes was remove bad effects. So i think this is a very important step in the DX11 fixing games. I want to encourage to go on with this project, and any help you need i'm sure there is a lot of people here that will help. Cheers!!!!
Flugan, like i wrote by email....the dump all function is very important... binary search + batch fixes is 90% of a game fix. Tridef use only batch fixes on the fly. Helix Lua script is batch fixes.

Well i grab the beta 3 wrapper, dump all, do a search for shadows, found 31 PS related and do a massive remove script (basically disable the output of each shader)...results in 10 minutes:

https://s3.amazonaws.com/dhr/AC4BFSP01_99.jps
https://s3.amazonaws.com/dhr/AC4BFSP02_99.jps

I think 98% of bad shadows are removed.....by chance (lucky me) the good shadows are not disable (i think are related to another kind of shadows), see first Screenshot around the ship.

The game looks a little to bright, but better than with 2D shadows.

**First Helix community fixes was remove bad effects. So i think this is a very important step in the DX11 fixing games.

I want to encourage to go on with this project, and any help you need i'm sure there is a lot of people here that will help.

Cheers!!!!

MY WEB

Helix Mod - Making 3D Better

My 3D Screenshot Gallery

Like my fixes? you can donate to Paypal: dhr.donation@gmail.com

#5
Posted 01/23/2014 12:26 AM   
i do more test and found the dump function is not a dump all function like helix wrapper....start to dump shaders as they appear on screen. I load others parts of the game (more shaders dumped) and do again the shadows search and now i found 53 PS. If anyone want to try this, download this and extract....same as helix wrapper [b]This is only a TEST, only shadows are removed[/b].....there is still some lights issues, sun is render wrong and others stuff. Use high Soft shadows and AO off. [url]https://s3.amazonaws.com/dhr/AC4_Beta3_TESTING.zip[/url] I will remove shadows in Assassin's Creed Liberation HD....this game crash with Tridef.
i do more test and found the dump function is not a dump all function like helix wrapper....start to dump shaders as they appear on screen. I load others parts of the game (more shaders dumped) and do again the shadows search and now i found 53 PS.


If anyone want to try this, download this and extract....same as helix wrapper

This is only a TEST, only shadows are removed.....there is still some lights issues, sun is render wrong and others stuff. Use high Soft shadows and AO off.

https://s3.amazonaws.com/dhr/AC4_Beta3_TESTING.zip


I will remove shadows in Assassin's Creed Liberation HD....this game crash with Tridef.

MY WEB

Helix Mod - Making 3D Better

My 3D Screenshot Gallery

Like my fixes? you can donate to Paypal: dhr.donation@gmail.com

#6
Posted 01/23/2014 01:31 AM   
I'm not far enough into the game to really test it. But it appears to be working.
I'm not far enough into the game to really test it.
But it appears to be working.

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

#7
Posted 01/23/2014 08:21 AM   
Pardon me for asking, but how are you able to remove effects from dx11 games? Was some kind of wrapper released, or perhaps helix's one behind closed doors?
Pardon me for asking, but how are you able to remove effects from dx11 games? Was some kind of wrapper released, or perhaps helix's one behind closed doors?

#8
Posted 01/23/2014 10:27 AM   
Flugan is working on a wrapper, and it looks like it's coming along really well. DHR, that's a really impressive result. Is the wrapper currently in a state where shaders can potentially be fixed, or are we currently limited to disabling them?
Flugan is working on a wrapper, and it looks like it's coming along really well.

DHR, that's a really impressive result. Is the wrapper currently in a state where shaders can potentially be fixed, or are we currently limited to disabling them?

#9
Posted 01/23/2014 10:42 AM   
@sammy123....i use Flugan wrapper: [url]https://forums.geforce.com/default/topic/659645/3d-vision/the-dawn-of-project-flugan/[/url] @Pirateguybrush, you can remove or fix shaders. DX11 games use "Shader model 5", DX9 games use "Shader Model 3". Example: AC4 use model 4 and model 5 for some shaders. Shaders in DX11 are more complex, we need programmers with the knowledge. We have only BI fixed by Helix (we need to look those fixes in more detail). The learning curve have to start from 0 for DX11 games. For DX9 happens the same btw. More info: [url]http://msdn.microsoft.com/en-us/library/windows/desktop/ff471356(v=vs.85).aspx[/url]
@sammy123....i use Flugan wrapper: https://forums.geforce.com/default/topic/659645/3d-vision/the-dawn-of-project-flugan/

@Pirateguybrush, you can remove or fix shaders. DX11 games use "Shader model 5", DX9 games use "Shader Model 3". Example: AC4 use model 4 and model 5 for some shaders. Shaders in DX11 are more complex, we need programmers with the knowledge. We have only BI fixed by Helix (we need to look those fixes in more detail). The learning curve have to start from 0 for DX11 games. For DX9 happens the same btw.

More info:
http://msdn.microsoft.com/en-us/library/windows/desktop/ff471356(v=vs.85).aspx

MY WEB

Helix Mod - Making 3D Better

My 3D Screenshot Gallery

Like my fixes? you can donate to Paypal: dhr.donation@gmail.com

#10
Posted 01/23/2014 11:42 AM   
Forgive my ignorance here but for sorting though lots of shaders have you tried TsaebehT's binary shader wass-name? If I get TsaebehT's tool correctly, to find a single shader from 1024 should take 10 attempts, 2048 shaders = 11 attempts, 4096 shaders = 12 attempts etc. Any use to you?
Forgive my ignorance here but for sorting though lots of shaders have you tried TsaebehT's binary shader wass-name?

If I get TsaebehT's tool correctly, to find a single shader from 1024 should take 10 attempts, 2048 shaders = 11 attempts, 4096 shaders = 12 attempts etc.

Any use to you?

Lord, grant me the serenity to accept the things I cannot change, the courage to change the things I can, and the wisdom to know the difference.
-------------------
Vitals: Windows 7 64bit, i5 2500 @ 4.4ghz, SLI GTX670, 8GB, Viewsonic VX2268WM

Handy Driver Discussion
Helix Mod - community fixes
Bo3b's Shaderhacker School - How to fix 3D in games
3dsolutionsgaming.com - videos, reviews and 3D fixes

#11
Posted 01/23/2014 01:36 PM   
@andysonofbob, i just noticed i write "binary" search (sorry i write that very late yesterday...suppose i was thinking on that), i don't do a binary search......first i search in headers shaders for the word "shadow", next i edit a couple of shader (shadow related) to see the code and others variables. Grab all shaders related to a Shadow patern, in this case my key word was "tshadowmap" (53 PS...those shader are from soft Shadows) and do a massive replacement for the "dcl_output" register to disable all shaders. Is not that complicated, you can try in others games.... if anyone know how to fix this type of shadows, how to change/modify the code to fix the shaders, instead of disable the shader, we can fix it.
@andysonofbob, i just noticed i write "binary" search (sorry i write that very late yesterday...suppose i was thinking on that), i don't do a binary search......first i search in headers shaders for the word "shadow", next i edit a couple of shader (shadow related) to see the code and others variables. Grab all shaders related to a Shadow patern, in this case my key word was "tshadowmap" (53 PS...those shader are from soft Shadows) and do a massive replacement for the "dcl_output" register to disable all shaders.

Is not that complicated, you can try in others games.... if anyone know how to fix this type of shadows, how to change/modify the code to fix the shaders, instead of disable the shader, we can fix it.

MY WEB

Helix Mod - Making 3D Better

My 3D Screenshot Gallery

Like my fixes? you can donate to Paypal: dhr.donation@gmail.com

#12
Posted 01/23/2014 05:12 PM   
N'ah, it's my bad. I didn't read through the thread carefully to see that you had already tried it. Soz mate! :/
N'ah, it's my bad. I didn't read through the thread carefully to see that you had already tried it. Soz mate! :/

Lord, grant me the serenity to accept the things I cannot change, the courage to change the things I can, and the wisdom to know the difference.
-------------------
Vitals: Windows 7 64bit, i5 2500 @ 4.4ghz, SLI GTX670, 8GB, Viewsonic VX2268WM

Handy Driver Discussion
Helix Mod - community fixes
Bo3b's Shaderhacker School - How to fix 3D in games
3dsolutionsgaming.com - videos, reviews and 3D fixes

#13
Posted 01/23/2014 05:42 PM   
Scroll To Top