3Dmigoto now open-source...
  33 / 143    
[quote="DarkStarSword"]I hit that same decompiler bug in some of the bloom pixel shaders in Mad Max, where we are somehow replaced 0x3e000000 (0.125) with 1040187392.0 (0x4e780000). Here 2.0 (0x40000000) was somehow replaced with 2.8e-45 (0x00000002).[/quote] Same bug found in CoD:Hardline. I'm not sure what's happening there, as 99% of the constants are OK, but some are coming through busted. I'd expect them to either work for fail, not be glitchy. These are coming in from the James-Jones binary, so should be accurate. I don't have those other games, but I do have Mad Max, so I will see if I can narrow down why this happens.
DarkStarSword said:I hit that same decompiler bug in some of the bloom pixel shaders in Mad Max, where we are somehow replaced 0x3e000000 (0.125) with 1040187392.0 (0x4e780000). Here 2.0 (0x40000000) was somehow replaced with 2.8e-45 (0x00000002).

Same bug found in CoD:Hardline. I'm not sure what's happening there, as 99% of the constants are OK, but some are coming through busted. I'd expect them to either work for fail, not be glitchy. These are coming in from the James-Jones binary, so should be accurate.

I don't have those other games, but I do have Mad Max, so I will see if I can narrow down why this happens.

Acer H5360 (1280x720@120Hz) - ASUS VG248QE with GSync mod - 3D Vision 1&2 - Driver 372.54
GTX 970 - i5-4670K@4.2GHz - 12GB RAM - Win7x64+evilKB2670838 - 4 Disk X25 RAID
SAGER NP9870-S - GTX 980 - i7-6700K - Win10 Pro 1607
Latest 3Dmigoto Release
Bo3b's School for ShaderHackers

Posted 10/15/2015 07:30 AM   
[quote="DHR"]I'm not the expert, but you can try replacing this line (line 54) [code]r1.zw = r1.zz ? float2(2.80259693e-045,0.499999493) : float2(1.40129846e-045,0.999998987);[/code] for this one: [code]r1.zw = r1.zz ? float2(2.0,0.499999) : float2(1.0,0.999999);[/code] Is the same issue pattern in the reflection shader i send you in the WIP version. [/quote] Thanks! Changing that line no longer blanks the shader out. But I think there's another line that needs to be edited because now reflections cut off in the middle of the screen. This happens in 2D or 3D. When I press F9 (to disable the fix), the problem goes away.
DHR said:I'm not the expert, but you can try replacing this line (line 54)
r1.zw = r1.zz ? float2(2.80259693e-045,0.499999493) : float2(1.40129846e-045,0.999998987);


for this one:
r1.zw = r1.zz ? float2(2.0,0.499999) : float2(1.0,0.999999);



Is the same issue pattern in the reflection shader i send you in the WIP version.



Thanks! Changing that line no longer blanks the shader out. But I think there's another line that needs to be edited because now reflections cut off in the middle of the screen. This happens in 2D or 3D. When I press F9 (to disable the fix), the problem goes away.

Dual boot Win 7 x64 & Win 10 (1809) | Geforce Drivers 417.35

Posted 10/15/2015 02:42 PM   
The other line that i see may have the issue is the line 256, replace for this: [code]r3.z = 0.000066 / r3.z;[/code] Also can you try using this line instead of the one in the previous post: [code]r1.zw = r1.zz ? float2(2.0,0.499999493) : float2(1.0,0.999998987);[/code] If this don't work, we need bo3b to look closer....maybe there is another decompiler issue.
The other line that i see may have the issue is the line 256, replace for this:
r3.z = 0.000066 / r3.z;



Also can you try using this line instead of the one in the previous post:
r1.zw = r1.zz ? float2(2.0,0.499999493) : float2(1.0,0.999998987);




If this don't work, we need bo3b to look closer....maybe there is another decompiler issue.

MY WEB

Helix Mod - Making 3D Better

My 3D Screenshot Gallery

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

Posted 10/15/2015 03:44 PM   
[quote="DHR"]The other line that i see may have the issue is the line 256, replace for this: [code]r3.z = 0.000066 / r3.z;[/code] Also can you try using this line instead of the one in the previous post: [code]r1.zw = r1.zz ? float2(2.0,0.499999493) : float2(1.0,0.999998987);[/code] If this don't work, we need bo3b to look closer....maybe there is another decompiler issue.[/quote] Tried the new lines. But no change, unfortunately. Here's a pic, btw: [img]https://forums.geforce.com/cmd/default/download-comment-attachment/66497/[/img]
DHR said:The other line that i see may have the issue is the line 256, replace for this:
r3.z = 0.000066 / r3.z;



Also can you try using this line instead of the one in the previous post:
r1.zw = r1.zz ? float2(2.0,0.499999493) : float2(1.0,0.999998987);




If this don't work, we need bo3b to look closer....maybe there is another decompiler issue.


Tried the new lines. But no change, unfortunately.

Here's a pic, btw:

Image
Attachments

bfh13_50.jps

Dual boot Win 7 x64 & Win 10 (1809) | Geforce Drivers 417.35

Posted 10/15/2015 04:43 PM   
What settings are you using? Use all setting on ULTRA, except Post processing on MEDIUM (Helifax mention that anything higher in PP cause render issues with Frostbite 3 engine) I fix that reflections shader in the WIP. Also remember to use the user.cfg [img]https://forums.geforce.com/cmd/default/download-comment-attachment/66498/[/img]
What settings are you using?
Use all setting on ULTRA, except Post processing on MEDIUM (Helifax mention that anything higher in PP cause render issues with Frostbite 3 engine)

I fix that reflections shader in the WIP.
Also remember to use the user.cfg

Image
Attachments

bfh05_99.jps

MY WEB

Helix Mod - Making 3D Better

My 3D Screenshot Gallery

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

Posted 10/15/2015 05:20 PM   
@4everawake: I took a quick look at the shader you posted, and on a short study it looks like the only problem there was the broken constants in the line that DHR already pointed out. The line at 256 was OK, but would work either way. I didn't see other broken constants or other anomalies when recompiling it. Maybe post the corresponding VS, as I think the PS is pretty good. I saw an effect like that in WatchDogs early on, where the transition in geometry in the game caused a glitch like this.
@4everawake: I took a quick look at the shader you posted, and on a short study it looks like the only problem there was the broken constants in the line that DHR already pointed out. The line at 256 was OK, but would work either way. I didn't see other broken constants or other anomalies when recompiling it.

Maybe post the corresponding VS, as I think the PS is pretty good. I saw an effect like that in WatchDogs early on, where the transition in geometry in the game caused a glitch like this.

Acer H5360 (1280x720@120Hz) - ASUS VG248QE with GSync mod - 3D Vision 1&2 - Driver 372.54
GTX 970 - i5-4670K@4.2GHz - 12GB RAM - Win7x64+evilKB2670838 - 4 Disk X25 RAID
SAGER NP9870-S - GTX 980 - i7-6700K - Win10 Pro 1607
Latest 3Dmigoto Release
Bo3b's School for ShaderHackers

Posted 10/17/2015 05:34 AM   
[quote="DHR"]What settings are you using? Use all setting on ULTRA, except Post processing on MEDIUM (Helifax mention that anything higher in PP cause render issues with Frostbite 3 engine) I fix that reflections shader in the WIP. Also remember to use the user.cfg [img]https://forums.geforce.com/cmd/default/download-comment-attachment/66498/[/img][/quote] Regarding Post-Process in Frostbite 3 engines: - Anything higher than "Medium" value will basically render different parts of the screen as 2D with heavy blur. (I believe they are using different shaders for the higher profile). Sometimes is in 3D but without any real depth information inside! (Just side by side the same image basically). - "Medium" or "Low" will still get you the blur/PP effects but the rendering will still be done in 3D WITH proper depth information!!!
DHR said:What settings are you using?
Use all setting on ULTRA, except Post processing on MEDIUM (Helifax mention that anything higher in PP cause render issues with Frostbite 3 engine)

I fix that reflections shader in the WIP.
Also remember to use the user.cfg

Image


Regarding Post-Process in Frostbite 3 engines:
- Anything higher than "Medium" value will basically render different parts of the screen as 2D with heavy blur. (I believe they are using different shaders for the higher profile). Sometimes is in 3D but without any real depth information inside! (Just side by side the same image basically).
- "Medium" or "Low" will still get you the blur/PP effects but the rendering will still be done in 3D WITH proper depth information!!!

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)

Posted 10/17/2015 11:10 AM   
3DMigoto 1.2.5 is up: https://github.com/bo3b/3Dmigoto/releases/tag/1.2.5 This release includes a number of misc improvements: Arbitrary resource copying: [list] [.] Support for UAVs (ps-u<slot> / cs-u<slot>)[/.] [.] Better internal resource management - should be less eager to throw away resources if they can be reused, and should create less redundant copies.[/.] [.] "post" keyword to copy a resource after the draw call, most useful for render & depth targets to get the result of the draw call instead of an old version. The keyword goes on the left side, e.g. [code] [ResourceWBuffer] [ShaderOverrideZToWBuffer] Hash=... post ResourceWBuffer = o0 [/code] [/.] [.] Can now use resource copying & ini param assignment on the present call, e.g. [code] [Present] ; Clear the saved depth buffer to avoid using stale information in menus: ResourceWBuffer = null ; Clear a param to indicate that we have not seen some shader yet this frame: x = 0 [/code] [/.] [.] max_copies_per_frame can be specified in a resource section to limit copies during a frame. Note that null can still be copied into a resource, so you might want to use the "unless_null" keyword in conjunction with this to make sure you don't end up with a blank buffer, e.g. [code] [ResourceDepthBuffer] max_copies_per_frame=1 [ShaderOverrideUI] Hash = ... ; Note: order of these next two lines is important, as is "unless_null" ResourceDepthBuffer = oD unless_null vs-t110 = ResourceDepthBuffer [/code] [/.][/list] Shader Overrides: [list] [.] Support for hull, domain, geometry & compute shaders. Compute ShaderOverrides are limited to setting ini params and using the arbitrary resource copying.[/.] [.] Textures assigned to compute shaders can be used for texture filtering.[/.] [/list] Frame Analysis: [list] [.] Support for analyse_options in hull, domain, geometry & compute shaders.[/.] [.] Support for dumping vertex & index buffers (dump_vb, dump_vb_txt, dump_ib, dump_ib_txt)[/.] [.] Support for dumping buffer type shader resources, render targets and UAVs (dump_tex, dump_rt, dump_tex_dds and dump_rt_dds now imply this).[/.] [.] Fix dumping compute shader UAVs as though they were pixel shader UAVs.[/.] [.] dump_cb_txt now uses the constant buffer number instead of cbX[/.] [/list]
3DMigoto 1.2.5 is up: https://github.com/bo3b/3Dmigoto/releases/tag/1.2.5


This release includes a number of misc improvements:

Arbitrary resource copying:
  • Support for UAVs (ps-u<slot> / cs-u<slot>)

  • Better internal resource management - should be less eager to throw away resources if they can be reused, and should create less redundant copies.

  • "post" keyword to copy a resource after the draw call, most useful for render & depth targets to get the result of the draw call instead of an old version. The keyword goes on the left side, e.g.

    [ResourceWBuffer]
    [ShaderOverrideZToWBuffer]
    Hash=...
    post ResourceWBuffer = o0

  • Can now use resource copying & ini param assignment on the present call, e.g.

    [Present]
    ; Clear the saved depth buffer to avoid using stale information in menus:
    ResourceWBuffer = null
    ; Clear a param to indicate that we have not seen some shader yet this frame:
    x = 0

  • max_copies_per_frame can be specified in a resource section to limit copies during a frame. Note that null can still be copied into a resource, so you might want to use the "unless_null" keyword in conjunction with this to make sure you don't end up with a blank buffer, e.g.

    [ResourceDepthBuffer]
    max_copies_per_frame=1

    [ShaderOverrideUI]
    Hash = ...
    ; Note: order of these next two lines is important, as is "unless_null"
    ResourceDepthBuffer = oD unless_null
    vs-t110 = ResourceDepthBuffer



Shader Overrides:
  • Support for hull, domain, geometry & compute shaders. Compute ShaderOverrides are limited to setting ini params and using the arbitrary resource copying.
  • Textures assigned to compute shaders can be used for texture filtering.


Frame Analysis:
  • Support for analyse_options in hull, domain, geometry & compute shaders.
  • Support for dumping vertex & index buffers (dump_vb, dump_vb_txt, dump_ib, dump_ib_txt)
  • Support for dumping buffer type shader resources, render targets and UAVs (dump_tex, dump_rt, dump_tex_dds and dump_rt_dds now imply this).
  • Fix dumping compute shader UAVs as though they were pixel shader UAVs.
  • dump_cb_txt now uses the constant buffer number instead of cbX

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

Posted 10/18/2015 04:57 PM   
3DMigoto 1.2.6 is up: https://github.com/bo3b/3Dmigoto/releases/tag/1.2.6 This is primarily a bug fix release, and [b][color="orange"]recommended for anyone working with assembly shaders[/color][/b]: [list] [.] Hooks up Flugan's disassembler improvements, which should fix the floating point precision issue in assembly shaders that can cause rendering artefacts.[/.] [.] Allow d3dx.ini hunting_mode=pink to be set by live config reload[/.] [.] Disabling the global analyse_options and reloading the config will now work as expected[/.] [.] Fixes marking_mode=original and show_original not working correctly after marking or reloading a shader[/.] [.] Re-disables certain features when using hunting=0 to optimise production mode. These were features that used to be disabled in this case (most notably, live reloading shaders and show_original), but had been enabled for the hunting toggle. hunting=2 will still enable these features to support the hunting toggle[/.] [/list]
3DMigoto 1.2.6 is up: https://github.com/bo3b/3Dmigoto/releases/tag/1.2.6


This is primarily a bug fix release, and recommended for anyone working with assembly shaders:
  • Hooks up Flugan's disassembler improvements, which should fix the floating point precision issue in assembly shaders that can cause rendering artefacts.
  • Allow d3dx.ini hunting_mode=pink to be set by live config reload
  • Disabling the global analyse_options and reloading the config will now work as expected
  • Fixes marking_mode=original and show_original not working correctly after marking or reloading a shader
  • Re-disables certain features when using hunting=0 to optimise production mode. These were features that used to be disabled in this case (most notably, live reloading shaders and show_original), but had been enabled for the hunting toggle. hunting=2 will still enable these features to support the hunting toggle

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

Posted 10/19/2015 04:07 PM   
I have a problem with the latest version of 3Dmigoto that suddenly started happening to me in Dark Souls 2 Scholar of the First Sin: even with a fresh 3Dmigoto installation (no shader files, no changes to the ini file), I can't dump shaders. I always get a "boop" instead of a "beep" and the shader isn't dumped. However, the reload config and shaders key does a "beep" sound, so the ini file in theory doesn't have any errors. Even more strange is that the sun rays disable pixel shader from the fix isn't working for me anymore (and I can't redump it now). It works fine with Dolphin, for example. I can dump shaders and use them. My recent log files: https://www.dropbox.com/s/5ztzplrxmcymu8g/DS2_logs_3Dmigoto_1_26.7z?dl=0 GTX 760 and 358.50 drivers, by the way. I don't know if it can be a driver problem, but they have been working fine for now. This problem is why I didn't answer in the DS2 thread yesterday, if bo3b is wondering this.
I have a problem with the latest version of 3Dmigoto that suddenly started happening to me in Dark Souls 2 Scholar of the First Sin: even with a fresh 3Dmigoto installation (no shader files, no changes to the ini file), I can't dump shaders. I always get a "boop" instead of a "beep" and the shader isn't dumped. However, the reload config and shaders key does a "beep" sound, so the ini file in theory doesn't have any errors.

Even more strange is that the sun rays disable pixel shader from the fix isn't working for me anymore (and I can't redump it now).

It works fine with Dolphin, for example. I can dump shaders and use them.

My recent log files: https://www.dropbox.com/s/5ztzplrxmcymu8g/DS2_logs_3Dmigoto_1_26.7z?dl=0

GTX 760 and 358.50 drivers, by the way. I don't know if it can be a driver problem, but they have been working fine for now.

This problem is why I didn't answer in the DS2 thread yesterday, if bo3b is wondering this.

CPU: Intel Core i7 7700K @ 4.9GHz
Motherboard: Gigabyte Aorus GA-Z270X-Gaming 5
RAM: GSKILL Ripjaws Z 16GB 3866MHz CL18
GPU: MSI GeForce RTX 2080Ti Gaming X Trio
Monitor: Asus PG278QR
Speakers: Logitech Z506
Donations account: masterotakusuko@gmail.com

Posted 10/23/2015 09:39 PM   
Taking a look at the log file there, I think that the F10 reload to activate hunting does not work correctly. If you start with hunting=0, then switch it on and F10 reload, we will not have populated the hunting map structures with hashes, so it will fail to find key information about the shader. The final item on DarkStarSword's list above notes that live reloading shaders will be disabled for the hunting=0 case. This may not be the best path, if this is the problem you are hitting. For performance enhancements we definitely want to disable as much as we can, but if it's just to save memory, I don't mind squandering some free memory that is only rarely used. Launch with hunting=1, and see if that works correctly. If that still doesn't work, it would be interesting to try 1.2.1 version: [url]https://github.com/bo3b/3Dmigoto/releases/download/1.2.6/3Dmigoto-1.2.1.zip[/url]
Taking a look at the log file there, I think that the F10 reload to activate hunting does not work correctly.

If you start with hunting=0, then switch it on and F10 reload, we will not have populated the hunting map structures with hashes, so it will fail to find key information about the shader. The final item on DarkStarSword's list above notes that live reloading shaders will be disabled for the hunting=0 case. This may not be the best path, if this is the problem you are hitting. For performance enhancements we definitely want to disable as much as we can, but if it's just to save memory, I don't mind squandering some free memory that is only rarely used.

Launch with hunting=1, and see if that works correctly.

If that still doesn't work, it would be interesting to try 1.2.1 version: https://github.com/bo3b/3Dmigoto/releases/download/1.2.6/3Dmigoto-1.2.1.zip

Acer H5360 (1280x720@120Hz) - ASUS VG248QE with GSync mod - 3D Vision 1&2 - Driver 372.54
GTX 970 - i5-4670K@4.2GHz - 12GB RAM - Win7x64+evilKB2670838 - 4 Disk X25 RAID
SAGER NP9870-S - GTX 980 - i7-6700K - Win10 Pro 1607
Latest 3Dmigoto Release
Bo3b's School for ShaderHackers

Posted 10/24/2015 07:46 AM   
I have a small usability suggestion: rename uninstall.bat to uninstall_3Dmigoto.bat. Might help avoid conflicts with other 3rd party mods, as well as just make things a little clearer.
I have a small usability suggestion: rename uninstall.bat to uninstall_3Dmigoto.bat. Might help avoid conflicts with other 3rd party mods, as well as just make things a little clearer.

ImageVolnaPC.com - Tips, tweaks, performance comparisons (PhysX card, SLI scaling, etc)

Posted 10/24/2015 09:01 AM   
[quote="bo3b"] Launch with hunting=1, and see if that works correctly.[/quote] Thank you, it works now. Why was I starting the game with hunting=0 to begin with? Because starting with hunting=1 was making the game render only the top left 1280x720 area, so the rest was cut. But a few minutes ago I had the idea to force in the "d3dx.ini" the lines "width=1920" and "height=1080", and it worked! Now I can start the game correctly with hunting enabled.
bo3b said:
Launch with hunting=1, and see if that works correctly.

Thank you, it works now. Why was I starting the game with hunting=0 to begin with? Because starting with hunting=1 was making the game render only the top left 1280x720 area, so the rest was cut. But a few minutes ago I had the idea to force in the "d3dx.ini" the lines "width=1920" and "height=1080", and it worked!

Now I can start the game correctly with hunting enabled.

CPU: Intel Core i7 7700K @ 4.9GHz
Motherboard: Gigabyte Aorus GA-Z270X-Gaming 5
RAM: GSKILL Ripjaws Z 16GB 3866MHz CL18
GPU: MSI GeForce RTX 2080Ti Gaming X Trio
Monitor: Asus PG278QR
Speakers: Logitech Z506
Donations account: masterotakusuko@gmail.com

Posted 10/24/2015 09:08 AM   
[quote="bo3b"]Taking a look at the log file there, I think that the F10 reload to activate hunting does not work correctly. If you start with hunting=0, then switch it on and F10 reload, we will not have populated the hunting map structures with hashes, so it will fail to find key information about the shader. The final item on DarkStarSword's list above notes that live reloading shaders will be disabled for the hunting=0 case. This may not be the best path, if this is the problem you are hitting. For performance enhancements we definitely want to disable as much as we can, but if it's just to save memory, I don't mind squandering some free memory that is only rarely used.[/quote] I haven't confirmed 100%, but initial tests seem to indicate that the latest change to hunting=0 seems to have also solved (or at least delayed) the 10 minute crash in Far Cry 4, which was another motivation for returning it to it's old behaviour (plus, we had the potential to grow some of those structures without any limits). I'm not willing to push out an update for FC4 yet until that is 100% confirmed though, seeing as the minor improvements I've got lined up aren't worth a potential decrease in stability (and I do still hit the 10 minute crash with hunting=1 and hunting=2). If you want to run 3DMigoto with hunting disabled initially but allow it to be turned on later, use hunting=2 and the toggle_hunting key binding - that will enable everything necessary to reload shaders on the fly. This will also mean the overlay won't be enabled initially, which might help with the 1280x720 issue, though I haven't hit that myself so I can't be sure.
bo3b said:Taking a look at the log file there, I think that the F10 reload to activate hunting does not work correctly.

If you start with hunting=0, then switch it on and F10 reload, we will not have populated the hunting map structures with hashes, so it will fail to find key information about the shader. The final item on DarkStarSword's list above notes that live reloading shaders will be disabled for the hunting=0 case. This may not be the best path, if this is the problem you are hitting. For performance enhancements we definitely want to disable as much as we can, but if it's just to save memory, I don't mind squandering some free memory that is only rarely used.

I haven't confirmed 100%, but initial tests seem to indicate that the latest change to hunting=0 seems to have also solved (or at least delayed) the 10 minute crash in Far Cry 4, which was another motivation for returning it to it's old behaviour (plus, we had the potential to grow some of those structures without any limits). I'm not willing to push out an update for FC4 yet until that is 100% confirmed though, seeing as the minor improvements I've got lined up aren't worth a potential decrease in stability (and I do still hit the 10 minute crash with hunting=1 and hunting=2).

If you want to run 3DMigoto with hunting disabled initially but allow it to be turned on later, use hunting=2 and the toggle_hunting key binding - that will enable everything necessary to reload shaders on the fly. This will also mean the overlay won't be enabled initially, which might help with the 1280x720 issue, though I haven't hit that myself so I can't be sure.

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

Posted 10/24/2015 02:11 PM   
I haven't looked at our memory usage in any detail, so correct me if I'm wrong, but I would not expect those structures to grow indefinitely. I'd expect them to grow only as big as every shader seen in a game, but not be leaking/growing. Shader binaries plus the little bits of info we save I would expect to be vanishingly small in an 8G machine. We do know that we have some sort of memory leak upon alt-tab though that is pretty serious, something like 300M a whack. I looked at this briefly and could not see any simple answer. My best guess at the moment is that our dispose for d3ddevice is not working correctly, or is maybe not called upon resolution or device resets. Just as an aside- does anyone have a preference for the way Helix did development, with a specific release version? We could of course adopt that model. I lean against that approach because I like the simplicity of a single binary, and I also don't think we are paying any performance penalty at present. That model would remove the need for the reload mechanism and on/off hunting and a few other bits.
I haven't looked at our memory usage in any detail, so correct me if I'm wrong, but I would not expect those structures to grow indefinitely. I'd expect them to grow only as big as every shader seen in a game, but not be leaking/growing. Shader binaries plus the little bits of info we save I would expect to be vanishingly small in an 8G machine.

We do know that we have some sort of memory leak upon alt-tab though that is pretty serious, something like 300M a whack. I looked at this briefly and could not see any simple answer. My best guess at the moment is that our dispose for d3ddevice is not working correctly, or is maybe not called upon resolution or device resets.


Just as an aside- does anyone have a preference for the way Helix did development, with a specific release version? We could of course adopt that model.

I lean against that approach because I like the simplicity of a single binary, and I also don't think we are paying any performance penalty at present. That model would remove the need for the reload mechanism and on/off hunting and a few other bits.

Acer H5360 (1280x720@120Hz) - ASUS VG248QE with GSync mod - 3D Vision 1&2 - Driver 372.54
GTX 970 - i5-4670K@4.2GHz - 12GB RAM - Win7x64+evilKB2670838 - 4 Disk X25 RAID
SAGER NP9870-S - GTX 980 - i7-6700K - Win10 Pro 1607
Latest 3Dmigoto Release
Bo3b's School for ShaderHackers

Posted 10/25/2015 12:29 AM   
  33 / 143    
Scroll To Top