So in working with Mike, he's helped determine that some of the mono effect issues are not present when running in SLI. This brought me back to when I was working on STALKER - CoP, when I had switched from SLI to a single card setup while fixing it, which caused the exact same sort of issue to happen. With the help of DSS, we determined that the effect was happening during a downsampling process, which needed to force stereoize a square texture.
So far, I've done my best to try, but have had no success applying this technique here, largely due to the issue at play with the frame analysis dumps not giving us much to work with (again, the o0 outputs in the drawcalls being black/unreadable), which makes it difficult to see where a broken/mono effect starts and which shader is responsible for it.
Without that ability, here's what I have tried so far (which has not worked):
-Changing the StereoTextureEnabled bits in the driver profile to try every setting (on a side note: this was a great learning exercise where I finally got to learn/understand how the binary "bits" work). I was, at least, able to determine a better setting than the default: 0x00000082, which fixes clipping on the menus.
-Trying every bit for StereoFlagsDX10
-Trying to force stereo on the texture hash that is provided with the dump_rt option in the filenames for the shaders related to drawing the object where the issue is present (separate shaders for car, plants, trees, which are all affected)
-Trying to force stereo on the texture hash that is provided with the dump_tex option for those same shaders for the textures which look like they are mono (image on the left, black on the right). One common texture between all of these is a Texture2D<float4> called AlphaTranslucentOcclusionSSSMap, so I suspected this was the culprit. If I try modifying the coordinates that get used when sampling the texture it will generally adjust the broken effect, but so far have not been able to make anything work here.
-Did a search through the frame analysis log for any OMSetRenderTargets entries with pDepthStencilView:0x0000000000000000 and tried stereoizing the hashes there (based on a hunch I got from looking at the log from STALKER for the entries which I had to stereoize there, and seeing they all had that common thing)
-A few other hashes from various CS's found in frame analysis dump that run near the beginning or before the above suspect shaders
At this point I now am flying blind, and the next step is going to try going through all the hashes that appear in the filesnames throughout an entire frame analysis dump. This will be tedious and archaic, so if any suggestions can be made to narrow this search down, it would be greatly appreciated.
[quote="DarkStarSword"][quote]I'm guessing that frame analysis dumping is probably in a "as good as it gets" state, but is there anything that can be done here?[/quote]Hehe, never say that - it's only "as good as we've made it so far". Improvements are definitely possible, it's just a question of spending time on it as opposed to other things. [/quote]
So, the fact that this is a complete showstopper here, I have to ask: is there any improvement that can be made when doing a frame analysis dump to provide us viewable images in cases like this? (or also what about cases where there's a significant number of missing/dropped drawcalls?) This isn't the first game where a frame analysis dump has given me some garbage, it's just never been as bad as it is for this game. I assume you're just dumping exactly what the game uses/provides, so I imagine there's not much area of improvement in that regard, but you said it *might* be possible so I'm asking! ;)
(also, I sent you an email with an attachment containing some samples like you asked before. Did you get it? I feel bad even asking about this stuff knowing that I already sent you something, so I don't want to seem impatient, but I don't know for certain if you even got my email so I hope you don't mind me asking)
[quote]Ok, I've just done something like this in the WATCH_DOGS2 fix - I needed stereo compute shaders enabled for certain effects, but enabling them broke the wind simulation leading to leaves, grass, bushes, etc getting desynchronised between each eye.
The trick is that you need to identify any compute shaders that get broken by enabling stereo compute shaders and make sure that their inputs are identical between both eyes - if their inputs are identical and their code is identical than they should produce an identical result.[/quote]
I'm a bit unclear on this. What gets input into a compute shader, and how would I know if their inputs/code is identical?
There's a few other questions I have (both related and unrelated), but this has already gotten long enough so I'll stop here. Gonna take a break from this for the next few days too, as I'm burnt out from throwing all sorts of time and energy towards this with nothing to show for it, so no rush on getting back to me here.
So in working with Mike, he's helped determine that some of the mono effect issues are not present when running in SLI. This brought me back to when I was working on STALKER - CoP, when I had switched from SLI to a single card setup while fixing it, which caused the exact same sort of issue to happen. With the help of DSS, we determined that the effect was happening during a downsampling process, which needed to force stereoize a square texture.
So far, I've done my best to try, but have had no success applying this technique here, largely due to the issue at play with the frame analysis dumps not giving us much to work with (again, the o0 outputs in the drawcalls being black/unreadable), which makes it difficult to see where a broken/mono effect starts and which shader is responsible for it.
Without that ability, here's what I have tried so far (which has not worked):
-Changing the StereoTextureEnabled bits in the driver profile to try every setting (on a side note: this was a great learning exercise where I finally got to learn/understand how the binary "bits" work). I was, at least, able to determine a better setting than the default: 0x00000082, which fixes clipping on the menus.
-Trying every bit for StereoFlagsDX10
-Trying to force stereo on the texture hash that is provided with the dump_rt option in the filenames for the shaders related to drawing the object where the issue is present (separate shaders for car, plants, trees, which are all affected)
-Trying to force stereo on the texture hash that is provided with the dump_tex option for those same shaders for the textures which look like they are mono (image on the left, black on the right). One common texture between all of these is a Texture2D<float4> called AlphaTranslucentOcclusionSSSMap, so I suspected this was the culprit. If I try modifying the coordinates that get used when sampling the texture it will generally adjust the broken effect, but so far have not been able to make anything work here.
-Did a search through the frame analysis log for any OMSetRenderTargets entries with pDepthStencilView:0x0000000000000000 and tried stereoizing the hashes there (based on a hunch I got from looking at the log from STALKER for the entries which I had to stereoize there, and seeing they all had that common thing)
-A few other hashes from various CS's found in frame analysis dump that run near the beginning or before the above suspect shaders
At this point I now am flying blind, and the next step is going to try going through all the hashes that appear in the filesnames throughout an entire frame analysis dump. This will be tedious and archaic, so if any suggestions can be made to narrow this search down, it would be greatly appreciated.
DarkStarSword said:
I'm guessing that frame analysis dumping is probably in a "as good as it gets" state, but is there anything that can be done here?
Hehe, never say that - it's only "as good as we've made it so far". Improvements are definitely possible, it's just a question of spending time on it as opposed to other things.
So, the fact that this is a complete showstopper here, I have to ask: is there any improvement that can be made when doing a frame analysis dump to provide us viewable images in cases like this? (or also what about cases where there's a significant number of missing/dropped drawcalls?) This isn't the first game where a frame analysis dump has given me some garbage, it's just never been as bad as it is for this game. I assume you're just dumping exactly what the game uses/provides, so I imagine there's not much area of improvement in that regard, but you said it *might* be possible so I'm asking! ;)
(also, I sent you an email with an attachment containing some samples like you asked before. Did you get it? I feel bad even asking about this stuff knowing that I already sent you something, so I don't want to seem impatient, but I don't know for certain if you even got my email so I hope you don't mind me asking)
Ok, I've just done something like this in the WATCH_DOGS2 fix - I needed stereo compute shaders enabled for certain effects, but enabling them broke the wind simulation leading to leaves, grass, bushes, etc getting desynchronised between each eye.
The trick is that you need to identify any compute shaders that get broken by enabling stereo compute shaders and make sure that their inputs are identical between both eyes - if their inputs are identical and their code is identical than they should produce an identical result.
I'm a bit unclear on this. What gets input into a compute shader, and how would I know if their inputs/code is identical?
There's a few other questions I have (both related and unrelated), but this has already gotten long enough so I'll stop here. Gonna take a break from this for the next few days too, as I'm burnt out from throwing all sorts of time and energy towards this with nothing to show for it, so no rush on getting back to me here.
3D Gaming Rig: CPU: i7 7700K @ 4.9Ghz | Mobo: Asus Maximus Hero VIII | RAM: Corsair Dominator 16GB | GPU: 2 x GTX 1080 Ti SLI | 3xSSDs for OS and Apps, 2 x HDD's for 11GB storage | PSU: Seasonic X-1250 M2| Case: Corsair C70 | Cooling: Corsair H115i Hydro cooler | Displays: Asus PG278QR, BenQ XL2420TX & BenQ HT1075 | OS: Windows 10 Pro + Windows 7 dual boot
[b][center][color="orange"][size="XL"]3DMigoto 1.2.56[/size][/color]
[size="M"][url]https://github.com/bo3b/3Dmigoto/releases[/url][/size]
[/center][/b]
- Fix bug with DDS file creation during FrameAnalysis in Resident Evil 7.
As part of looking into the problems with FrameAnalysis on Resident Evil 7, I also took a look at the DDS file formats that are created, and how we might be able to view them. I'm assuming that we don't actually care about the format itself, and that we are really just interested in viewing the image. In other words, color accuracy is irrelevant for our purposes.
Assuming that is true, we can use the "texconv" tool that is part of the DirectXTK/SDK tools, and is currently the best tool for converting and viewing the millions of stupid DDS formats. (I wish that programmers would stop creating new formats all the time, the difference between these is not even visible.) The formats in this game are of the newer DX10 type, which tend to be greater than 32 bits/pixel, which is why other tools tend to get hung up.
Download this tool: https://github.com/Microsoft/DirectXTex/releases/download/jan2017/texconv.exe
From: https://github.com/Microsoft/DirectXTex/releases
And drop that into your FrameAnalysis folder for convenience. It's a command line tool. Then run the following command to convert every DDS in the folder into a PNG file in the \converted folder. File names will keep their output and shader hashes.
[code]texconv.exe -f R8G8B8A8_UNORM -o converted -ft PNG -alpha *.dds[/code]
I assume that PNG is slightly better than JPG as it will support a possible alpha channel. This smashes whatever format it starts with into the very common R8G8B8A8 format. Some have no alpha channel, but it will make an opaque channel.
If that is not exactly what you are looking for, the texconv tool can convert and write every format currently known, so you can tweak the parameters to suit.
- Fix bug with DDS file creation during FrameAnalysis in Resident Evil 7.
As part of looking into the problems with FrameAnalysis on Resident Evil 7, I also took a look at the DDS file formats that are created, and how we might be able to view them. I'm assuming that we don't actually care about the format itself, and that we are really just interested in viewing the image. In other words, color accuracy is irrelevant for our purposes.
Assuming that is true, we can use the "texconv" tool that is part of the DirectXTK/SDK tools, and is currently the best tool for converting and viewing the millions of stupid DDS formats. (I wish that programmers would stop creating new formats all the time, the difference between these is not even visible.) The formats in this game are of the newer DX10 type, which tend to be greater than 32 bits/pixel, which is why other tools tend to get hung up.
And drop that into your FrameAnalysis folder for convenience. It's a command line tool. Then run the following command to convert every DDS in the folder into a PNG file in the \converted folder. File names will keep their output and shader hashes.
I assume that PNG is slightly better than JPG as it will support a possible alpha channel. This smashes whatever format it starts with into the very common R8G8B8A8 format. Some have no alpha channel, but it will make an opaque channel.
If that is not exactly what you are looking for, the texconv tool can convert and write every format currently known, so you can tweak the parameters to suit.
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
@darkstarsword I don't want to be rude or anything, but please at least be a human beeing and tell me if I should stop hoping for a fix for my reflections shader as living in a suspense like this is killing me.
@darkstarsword I don't want to be rude or anything, but please at least be a human beeing and tell me if I should stop hoping for a fix for my reflections shader as living in a suspense like this is killing me.
Sorry Oomek, I am still intending to look at that, but between a day job, a contract I've taken on (related to 3D Vision), other projects and my mental health issues I haven't had a chance to look at it, and can't make any promises as to when I will be able to (definitely not until this contract is out of the way). I haven't even been looking at this forum, and barely checking my email (for anything urgent try messaging me on facebook or steam)
Sorry Oomek, I am still intending to look at that, but between a day job, a contract I've taken on (related to 3D Vision), other projects and my mental health issues I haven't had a chance to look at it, and can't make any promises as to when I will be able to (definitely not until this contract is out of the way). I haven't even been looking at this forum, and barely checking my email (for anything urgent try messaging me on facebook or steam)
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
Hoping I could get some support for an issue with Berserk and the Band of the Hawk. Quite simply, frame analysis isn't working, just generates 2 log files and a shader usage file. Tried using the hold function to see if it would trigger after a bit like it has on other titles and no go. Unfortunately there are certain broken effects that cannot be located at all using any shader hunting method, so frame analysis is the only hope here.
Attaching a zip containing a regular log as well as a debug/unbuffered log (which I tried running frame analysis during the initial loading screen, since it takes way too long to get into game to try using it there), and also one of the folders from the FA dump.
Also, I mentioned this in the For Honor thread, but I can't get 3DM to work with FH's EasyAntiCheat. d3dcompiler_46.dll gets flagged because the game doesn't use it, FH uses d3dcompiler_47.dll instead. Any way to get 3DM to utilize 47 instead of 46?
Thanks in advance.
Hoping I could get some support for an issue with Berserk and the Band of the Hawk. Quite simply, frame analysis isn't working, just generates 2 log files and a shader usage file. Tried using the hold function to see if it would trigger after a bit like it has on other titles and no go. Unfortunately there are certain broken effects that cannot be located at all using any shader hunting method, so frame analysis is the only hope here.
Attaching a zip containing a regular log as well as a debug/unbuffered log (which I tried running frame analysis during the initial loading screen, since it takes way too long to get into game to try using it there), and also one of the folders from the FA dump.
Also, I mentioned this in the For Honor thread, but I can't get 3DM to work with FH's EasyAntiCheat. d3dcompiler_46.dll gets flagged because the game doesn't use it, FH uses d3dcompiler_47.dll instead. Any way to get 3DM to utilize 47 instead of 46?
Thanks in advance.
3D Gaming Rig: CPU: i7 7700K @ 4.9Ghz | Mobo: Asus Maximus Hero VIII | RAM: Corsair Dominator 16GB | GPU: 2 x GTX 1080 Ti SLI | 3xSSDs for OS and Apps, 2 x HDD's for 11GB storage | PSU: Seasonic X-1250 M2| Case: Corsair C70 | Cooling: Corsair H115i Hydro cooler | Displays: Asus PG278QR, BenQ XL2420TX & BenQ HT1075 | OS: Windows 10 Pro + Windows 7 dual boot
[quote="DJ-RK"]Also, I mentioned this in the For Honor thread, but I can't get 3DM to work with FH's EasyAntiCheat. d3dcompiler_46.dll gets flagged because the game doesn't use it, FH uses d3dcompiler_47.dll instead. Any way to get 3DM to utilize 47 instead of 46?[/quote]There are some changes in the assembly format between 46 and 47 that break both our decompiler and assembler, but I do have a partially working forward port of 3DMigoto that you could use if you disable decompiling and disassembling in 3DMigoto and use cmd_Decompiler instead - I'll do a side build for you a bit later.
DJ-RK said:Also, I mentioned this in the For Honor thread, but I can't get 3DM to work with FH's EasyAntiCheat. d3dcompiler_46.dll gets flagged because the game doesn't use it, FH uses d3dcompiler_47.dll instead. Any way to get 3DM to utilize 47 instead of 46?
There are some changes in the assembly format between 46 and 47 that break both our decompiler and assembler, but I do have a partially working forward port of 3DMigoto that you could use if you disable decompiling and disassembling in 3DMigoto and use cmd_Decompiler instead - I'll do a side build for you a bit later.
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
Also, it might be worth trying the d3dcompiler_46.dll from a clean WATCH_DOGS2 install - that one is known not to trigger EAC (it's not clear why ours does - it's not part of 3DMigoto, just a dependency we copy in from the Windows 8 SDK, but ours is a different version to the one shipped with WATCH_DOGS2)
Also, it might be worth trying the d3dcompiler_46.dll from a clean WATCH_DOGS2 install - that one is known not to trigger EAC (it's not clear why ours does - it's not part of 3DMigoto, just a dependency we copy in from the Windows 8 SDK, but ours is a different version to the one shipped with WATCH_DOGS2)
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
Thanks DSS. I'm not sure if the WD2 file will work, since with WD2 you're saying it did come with it's own version and didn't like the 3DM alternative, whereas FH doesn't even ship the file at all so I'm thinking the fact it's a foreign file alltogether is probably what's tripping EAC (although, by that logic, I'd assume even the 3DM d3d11.dll would get flagged), but it's certainly worth a shot. However, I don't own a copy of WD2 yet. Any chance you could send the file over to me?
Thanks DSS. I'm not sure if the WD2 file will work, since with WD2 you're saying it did come with it's own version and didn't like the 3DM alternative, whereas FH doesn't even ship the file at all so I'm thinking the fact it's a foreign file alltogether is probably what's tripping EAC (although, by that logic, I'd assume even the 3DM d3d11.dll would get flagged), but it's certainly worth a shot. However, I don't own a copy of WD2 yet. Any chance you could send the file over to me?
3D Gaming Rig: CPU: i7 7700K @ 4.9Ghz | Mobo: Asus Maximus Hero VIII | RAM: Corsair Dominator 16GB | GPU: 2 x GTX 1080 Ti SLI | 3xSSDs for OS and Apps, 2 x HDD's for 11GB storage | PSU: Seasonic X-1250 M2| Case: Corsair C70 | Cooling: Corsair H115i Hydro cooler | Displays: Asus PG278QR, BenQ XL2420TX & BenQ HT1075 | OS: Windows 10 Pro + Windows 7 dual boot
[quote="DJ-RK"]Thanks DSS. I'm not sure if the WD2 file will work, since with WD2 you're saying it did come with it's own version and didn't like the 3DM alternative, whereas FH doesn't even ship the file at all so I'm thinking the fact it's a foreign file alltogether is probably what's tripping EAC (although, by that logic, I'd assume even the 3DM d3d11.dll would get flagged), but it's certainly worth a shot. However, I don't own a copy of WD2 yet. Any chance you could send the file over to me?[/quote]
By chance, a friend of mine gave me a free code for WatchDogs_2 he got with a bluetooth microphone.
Because of that, I can offer the [url=http://bo3b.net/d3dcompiler_46.dll]d3dcompiler_46.dll[/url] from that game.
DJ-RK said:Thanks DSS. I'm not sure if the WD2 file will work, since with WD2 you're saying it did come with it's own version and didn't like the 3DM alternative, whereas FH doesn't even ship the file at all so I'm thinking the fact it's a foreign file alltogether is probably what's tripping EAC (although, by that logic, I'd assume even the 3DM d3d11.dll would get flagged), but it's certainly worth a shot. However, I don't own a copy of WD2 yet. Any chance you could send the file over to me?
By chance, a friend of mine gave me a free code for WatchDogs_2 he got with a bluetooth microphone.
[quote="chtiblue"]I can't access mp with this file too, said easy anti cheat is not installed.[/quote]
Indeed, it looks like EAC has officially become anti-3DM. Been reading up on people not even being able to load ReShade, or x360ce with it either. I also now know that's why I couldn't load Dead by Daylight with 3DM back when it was on a free weekend. Guess we should just expect to avoid any games that use it from now on.
But much appreciated for providing that file bo3b. At least now we know.
chtiblue said:I can't access mp with this file too, said easy anti cheat is not installed.
Indeed, it looks like EAC has officially become anti-3DM. Been reading up on people not even being able to load ReShade, or x360ce with it either. I also now know that's why I couldn't load Dead by Daylight with 3DM back when it was on a free weekend. Guess we should just expect to avoid any games that use it from now on.
But much appreciated for providing that file bo3b. At least now we know.
3D Gaming Rig: CPU: i7 7700K @ 4.9Ghz | Mobo: Asus Maximus Hero VIII | RAM: Corsair Dominator 16GB | GPU: 2 x GTX 1080 Ti SLI | 3xSSDs for OS and Apps, 2 x HDD's for 11GB storage | PSU: Seasonic X-1250 M2| Case: Corsair C70 | Cooling: Corsair H115i Hydro cooler | Displays: Asus PG278QR, BenQ XL2420TX & BenQ HT1075 | OS: Windows 10 Pro + Windows 7 dual boot
[quote="DJ-RK"]Guess we should just expect to avoid any games that use it from now on.
[/quote]
"avoid"? Do you mean no fixing in 3dvision those games with EAC? If so It would be a big mistake because only MP is impacted not solo which is the most important for "us". Solo story is great in Watch Dogs.
DJ-RK said:Guess we should just expect to avoid any games that use it from now on.
"avoid"? Do you mean no fixing in 3dvision those games with EAC? If so It would be a big mistake because only MP is impacted not solo which is the most important for "us". Solo story is great in Watch Dogs.
[quote="DJ-RK"]Hoping I could get some support for an issue with Berserk and the Band of the Hawk. Quite simply, frame analysis isn't working, just generates 2 log files and a shader usage file. Tried using the hold function to see if it would trigger after a bit like it has on other titles and no go. Unfortunately there are certain broken effects that cannot be located at all using any shader hunting method, so frame analysis is the only hope here.
Attaching a zip containing a regular log as well as a debug/unbuffered log (which I tried running frame analysis during the initial loading screen, since it takes way too long to get into game to try using it there), and also one of the folders from the FA dump.
Also, I mentioned this in the For Honor thread, but I can't get 3DM to work with FH's EasyAntiCheat. d3dcompiler_46.dll gets flagged because the game doesn't use it, FH uses d3dcompiler_47.dll instead. Any way to get 3DM to utilize 47 instead of 46?
Thanks in advance.[/quote]
Just bumping this since the issue with Berserk seemed to go unnoticed. Would love to get to continue my work on that one.
Also, although I mentioned that For Honor probably is a lost cause, I still can't help but wonder that if the dependency on the d3dcompiler_46.dll could be ported over to d3dcompiler_47.dll if it just might happen to pass the EAC check (since it always crashes mentioning the d3dcompiler_46.dll and not the d3d11.dll). Is there any answer on whether or not that's even possible?
DJ-RK said:Hoping I could get some support for an issue with Berserk and the Band of the Hawk. Quite simply, frame analysis isn't working, just generates 2 log files and a shader usage file. Tried using the hold function to see if it would trigger after a bit like it has on other titles and no go. Unfortunately there are certain broken effects that cannot be located at all using any shader hunting method, so frame analysis is the only hope here.
Attaching a zip containing a regular log as well as a debug/unbuffered log (which I tried running frame analysis during the initial loading screen, since it takes way too long to get into game to try using it there), and also one of the folders from the FA dump.
Also, I mentioned this in the For Honor thread, but I can't get 3DM to work with FH's EasyAntiCheat. d3dcompiler_46.dll gets flagged because the game doesn't use it, FH uses d3dcompiler_47.dll instead. Any way to get 3DM to utilize 47 instead of 46?
Thanks in advance.
Just bumping this since the issue with Berserk seemed to go unnoticed. Would love to get to continue my work on that one.
Also, although I mentioned that For Honor probably is a lost cause, I still can't help but wonder that if the dependency on the d3dcompiler_46.dll could be ported over to d3dcompiler_47.dll if it just might happen to pass the EAC check (since it always crashes mentioning the d3dcompiler_46.dll and not the d3d11.dll). Is there any answer on whether or not that's even possible?
3D Gaming Rig: CPU: i7 7700K @ 4.9Ghz | Mobo: Asus Maximus Hero VIII | RAM: Corsair Dominator 16GB | GPU: 2 x GTX 1080 Ti SLI | 3xSSDs for OS and Apps, 2 x HDD's for 11GB storage | PSU: Seasonic X-1250 M2| Case: Corsair C70 | Cooling: Corsair H115i Hydro cooler | Displays: Asus PG278QR, BenQ XL2420TX & BenQ HT1075 | OS: Windows 10 Pro + Windows 7 dual boot
[quote="DJ-RK"][quote="DJ-RK"]Hoping I could get some support for an issue with Berserk and the Band of the Hawk. Quite simply, frame analysis isn't working, just generates 2 log files and a shader usage file. Tried using the hold function to see if it would trigger after a bit like it has on other titles and no go. Unfortunately there are certain broken effects that cannot be located at all using any shader hunting method, so frame analysis is the only hope here.
Attaching a zip containing a regular log as well as a debug/unbuffered log (which I tried running frame analysis during the initial loading screen, since it takes way too long to get into game to try using it there), and also one of the folders from the FA dump.
Also, I mentioned this in the For Honor thread, but I can't get 3DM to work with FH's EasyAntiCheat. d3dcompiler_46.dll gets flagged because the game doesn't use it, FH uses d3dcompiler_47.dll instead. Any way to get 3DM to utilize 47 instead of 46?
Thanks in advance.[/quote]
Just bumping this since the issue with Berserk seemed to go unnoticed. Would love to get to continue my work on that one.
Also, although I mentioned that For Honor probably is a lost cause, I still can't help but wonder that if the dependency on the d3dcompiler_46.dll could be ported over to d3dcompiler_47.dll if it just might happen to pass the EAC check (since it always crashes mentioning the d3dcompiler_46.dll and not the d3d11.dll). Is there any answer on whether or not that's even possible?[/quote]
For d3dcompiler_47.dll, I can say with assurance that this will never work. I looked into this awhile ago to see if we could move our tools up to VS2015.
The problem is that the Decompiler uses the ASM text to determine variable names and other pieces of the code. (It also partly uses a tool called James-Jones for binary pieces, but is incomplete.) *_47.dll changes all the ASM output, because why would Microsoft every miss a chance to change things that don't matter? So the output doesn't match what the Decompiler expects, and it all goes down in flames.
Changing the Decompiler to support *_47 would be extremely time consuming and low value. Also, if one of us is going to take time to update it, the far superior approach would be to flesh out the use of the James-Jones cross compiler, which reads the binary directly instead.
I'll try to take a look to see if I can remove the requirement to load the *_46.dll, as we don't need it for playing. That would allow you to setup a fix with .bin cached files, and run without the file.
I also contacted the Easy-AC people to see about whitelisting 3Dmigoto, but they never respond. Long term, they will die like all the rest.
DJ-RK said:Hoping I could get some support for an issue with Berserk and the Band of the Hawk. Quite simply, frame analysis isn't working, just generates 2 log files and a shader usage file. Tried using the hold function to see if it would trigger after a bit like it has on other titles and no go. Unfortunately there are certain broken effects that cannot be located at all using any shader hunting method, so frame analysis is the only hope here.
Attaching a zip containing a regular log as well as a debug/unbuffered log (which I tried running frame analysis during the initial loading screen, since it takes way too long to get into game to try using it there), and also one of the folders from the FA dump.
Also, I mentioned this in the For Honor thread, but I can't get 3DM to work with FH's EasyAntiCheat. d3dcompiler_46.dll gets flagged because the game doesn't use it, FH uses d3dcompiler_47.dll instead. Any way to get 3DM to utilize 47 instead of 46?
Thanks in advance.
Just bumping this since the issue with Berserk seemed to go unnoticed. Would love to get to continue my work on that one.
Also, although I mentioned that For Honor probably is a lost cause, I still can't help but wonder that if the dependency on the d3dcompiler_46.dll could be ported over to d3dcompiler_47.dll if it just might happen to pass the EAC check (since it always crashes mentioning the d3dcompiler_46.dll and not the d3d11.dll). Is there any answer on whether or not that's even possible?
For d3dcompiler_47.dll, I can say with assurance that this will never work. I looked into this awhile ago to see if we could move our tools up to VS2015.
The problem is that the Decompiler uses the ASM text to determine variable names and other pieces of the code. (It also partly uses a tool called James-Jones for binary pieces, but is incomplete.) *_47.dll changes all the ASM output, because why would Microsoft every miss a chance to change things that don't matter? So the output doesn't match what the Decompiler expects, and it all goes down in flames.
Changing the Decompiler to support *_47 would be extremely time consuming and low value. Also, if one of us is going to take time to update it, the far superior approach would be to flesh out the use of the James-Jones cross compiler, which reads the binary directly instead.
I'll try to take a look to see if I can remove the requirement to load the *_46.dll, as we don't need it for playing. That would allow you to setup a fix with .bin cached files, and run without the file.
I also contacted the Easy-AC people to see about whitelisting 3Dmigoto, but they never respond. Long term, they will die like all the rest.
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
So far, I've done my best to try, but have had no success applying this technique here, largely due to the issue at play with the frame analysis dumps not giving us much to work with (again, the o0 outputs in the drawcalls being black/unreadable), which makes it difficult to see where a broken/mono effect starts and which shader is responsible for it.
Without that ability, here's what I have tried so far (which has not worked):
-Changing the StereoTextureEnabled bits in the driver profile to try every setting (on a side note: this was a great learning exercise where I finally got to learn/understand how the binary "bits" work). I was, at least, able to determine a better setting than the default: 0x00000082, which fixes clipping on the menus.
-Trying every bit for StereoFlagsDX10
-Trying to force stereo on the texture hash that is provided with the dump_rt option in the filenames for the shaders related to drawing the object where the issue is present (separate shaders for car, plants, trees, which are all affected)
-Trying to force stereo on the texture hash that is provided with the dump_tex option for those same shaders for the textures which look like they are mono (image on the left, black on the right). One common texture between all of these is a Texture2D<float4> called AlphaTranslucentOcclusionSSSMap, so I suspected this was the culprit. If I try modifying the coordinates that get used when sampling the texture it will generally adjust the broken effect, but so far have not been able to make anything work here.
-Did a search through the frame analysis log for any OMSetRenderTargets entries with pDepthStencilView:0x0000000000000000 and tried stereoizing the hashes there (based on a hunch I got from looking at the log from STALKER for the entries which I had to stereoize there, and seeing they all had that common thing)
-A few other hashes from various CS's found in frame analysis dump that run near the beginning or before the above suspect shaders
At this point I now am flying blind, and the next step is going to try going through all the hashes that appear in the filesnames throughout an entire frame analysis dump. This will be tedious and archaic, so if any suggestions can be made to narrow this search down, it would be greatly appreciated.
So, the fact that this is a complete showstopper here, I have to ask: is there any improvement that can be made when doing a frame analysis dump to provide us viewable images in cases like this? (or also what about cases where there's a significant number of missing/dropped drawcalls?) This isn't the first game where a frame analysis dump has given me some garbage, it's just never been as bad as it is for this game. I assume you're just dumping exactly what the game uses/provides, so I imagine there's not much area of improvement in that regard, but you said it *might* be possible so I'm asking! ;)
(also, I sent you an email with an attachment containing some samples like you asked before. Did you get it? I feel bad even asking about this stuff knowing that I already sent you something, so I don't want to seem impatient, but I don't know for certain if you even got my email so I hope you don't mind me asking)
I'm a bit unclear on this. What gets input into a compute shader, and how would I know if their inputs/code is identical?
There's a few other questions I have (both related and unrelated), but this has already gotten long enough so I'll stop here. Gonna take a break from this for the next few days too, as I'm burnt out from throwing all sorts of time and energy towards this with nothing to show for it, so no rush on getting back to me here.
3D Gaming Rig: CPU: i7 7700K @ 4.9Ghz | Mobo: Asus Maximus Hero VIII | RAM: Corsair Dominator 16GB | GPU: 2 x GTX 1080 Ti SLI | 3xSSDs for OS and Apps, 2 x HDD's for 11GB storage | PSU: Seasonic X-1250 M2| Case: Corsair C70 | Cooling: Corsair H115i Hydro cooler | Displays: Asus PG278QR, BenQ XL2420TX & BenQ HT1075 | OS: Windows 10 Pro + Windows 7 dual boot
Like my fixes? Dontations can be made to: www.paypal.me/DShanz or rshannonca@gmail.com
Like electronic music? Check out: www.soundcloud.com/dj-ryan-king
https://github.com/bo3b/3Dmigoto/releases
- Fix bug with DDS file creation during FrameAnalysis in Resident Evil 7.
As part of looking into the problems with FrameAnalysis on Resident Evil 7, I also took a look at the DDS file formats that are created, and how we might be able to view them. I'm assuming that we don't actually care about the format itself, and that we are really just interested in viewing the image. In other words, color accuracy is irrelevant for our purposes.
Assuming that is true, we can use the "texconv" tool that is part of the DirectXTK/SDK tools, and is currently the best tool for converting and viewing the millions of stupid DDS formats. (I wish that programmers would stop creating new formats all the time, the difference between these is not even visible.) The formats in this game are of the newer DX10 type, which tend to be greater than 32 bits/pixel, which is why other tools tend to get hung up.
Download this tool: https://github.com/Microsoft/DirectXTex/releases/download/jan2017/texconv.exe
From: https://github.com/Microsoft/DirectXTex/releases
And drop that into your FrameAnalysis folder for convenience. It's a command line tool. Then run the following command to convert every DDS in the folder into a PNG file in the \converted folder. File names will keep their output and shader hashes.
I assume that PNG is slightly better than JPG as it will support a possible alpha channel. This smashes whatever format it starts with into the very common R8G8B8A8 format. Some have no alpha channel, but it will make an opaque channel.
If that is not exactly what you are looking for, the texconv tool can convert and write every format currently known, so you can tweak the parameters to suit.
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
EVGA GeForce GTX 980 SC
Core i5 2500K
MSI Z77A-G45
8GB DDR3
Windows 10 x64
EVGA GeForce GTX 980 SC
Core i5 2500K
MSI Z77A-G45
8GB DDR3
Windows 10 x64
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
Attaching a zip containing a regular log as well as a debug/unbuffered log (which I tried running frame analysis during the initial loading screen, since it takes way too long to get into game to try using it there), and also one of the folders from the FA dump.
Also, I mentioned this in the For Honor thread, but I can't get 3DM to work with FH's EasyAntiCheat. d3dcompiler_46.dll gets flagged because the game doesn't use it, FH uses d3dcompiler_47.dll instead. Any way to get 3DM to utilize 47 instead of 46?
Thanks in advance.
3D Gaming Rig: CPU: i7 7700K @ 4.9Ghz | Mobo: Asus Maximus Hero VIII | RAM: Corsair Dominator 16GB | GPU: 2 x GTX 1080 Ti SLI | 3xSSDs for OS and Apps, 2 x HDD's for 11GB storage | PSU: Seasonic X-1250 M2| Case: Corsair C70 | Cooling: Corsair H115i Hydro cooler | Displays: Asus PG278QR, BenQ XL2420TX & BenQ HT1075 | OS: Windows 10 Pro + Windows 7 dual boot
Like my fixes? Dontations can be made to: www.paypal.me/DShanz or rshannonca@gmail.com
Like electronic music? Check out: www.soundcloud.com/dj-ryan-king
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
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
3D Gaming Rig: CPU: i7 7700K @ 4.9Ghz | Mobo: Asus Maximus Hero VIII | RAM: Corsair Dominator 16GB | GPU: 2 x GTX 1080 Ti SLI | 3xSSDs for OS and Apps, 2 x HDD's for 11GB storage | PSU: Seasonic X-1250 M2| Case: Corsair C70 | Cooling: Corsair H115i Hydro cooler | Displays: Asus PG278QR, BenQ XL2420TX & BenQ HT1075 | OS: Windows 10 Pro + Windows 7 dual boot
Like my fixes? Dontations can be made to: www.paypal.me/DShanz or rshannonca@gmail.com
Like electronic music? Check out: www.soundcloud.com/dj-ryan-king
By chance, a friend of mine gave me a free code for WatchDogs_2 he got with a bluetooth microphone.
Because of that, I can offer the d3dcompiler_46.dll from that game.
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
http://photos.3dvisionlive.com/chtiblue/album/530b52d4cb85770d6e000049/3Dvision with 55" LG OLED EG920 interlieved 3D (3840x2160) overide mode, GTX 2080 Ti XC Ultra EVGA, core i5 @4.3GHz, 16Gb@2130, windows 7&10 64bit, Dolby Atmos 5.1.4 Marantz 6010 AVR
Indeed, it looks like EAC has officially become anti-3DM. Been reading up on people not even being able to load ReShade, or x360ce with it either. I also now know that's why I couldn't load Dead by Daylight with 3DM back when it was on a free weekend. Guess we should just expect to avoid any games that use it from now on.
But much appreciated for providing that file bo3b. At least now we know.
3D Gaming Rig: CPU: i7 7700K @ 4.9Ghz | Mobo: Asus Maximus Hero VIII | RAM: Corsair Dominator 16GB | GPU: 2 x GTX 1080 Ti SLI | 3xSSDs for OS and Apps, 2 x HDD's for 11GB storage | PSU: Seasonic X-1250 M2| Case: Corsair C70 | Cooling: Corsair H115i Hydro cooler | Displays: Asus PG278QR, BenQ XL2420TX & BenQ HT1075 | OS: Windows 10 Pro + Windows 7 dual boot
Like my fixes? Dontations can be made to: www.paypal.me/DShanz or rshannonca@gmail.com
Like electronic music? Check out: www.soundcloud.com/dj-ryan-king
"avoid"? Do you mean no fixing in 3dvision those games with EAC? If so It would be a big mistake because only MP is impacted not solo which is the most important for "us". Solo story is great in Watch Dogs.
http://photos.3dvisionlive.com/chtiblue/album/530b52d4cb85770d6e000049/3Dvision with 55" LG OLED EG920 interlieved 3D (3840x2160) overide mode, GTX 2080 Ti XC Ultra EVGA, core i5 @4.3GHz, 16Gb@2130, windows 7&10 64bit, Dolby Atmos 5.1.4 Marantz 6010 AVR
Just bumping this since the issue with Berserk seemed to go unnoticed. Would love to get to continue my work on that one.
Also, although I mentioned that For Honor probably is a lost cause, I still can't help but wonder that if the dependency on the d3dcompiler_46.dll could be ported over to d3dcompiler_47.dll if it just might happen to pass the EAC check (since it always crashes mentioning the d3dcompiler_46.dll and not the d3d11.dll). Is there any answer on whether or not that's even possible?
3D Gaming Rig: CPU: i7 7700K @ 4.9Ghz | Mobo: Asus Maximus Hero VIII | RAM: Corsair Dominator 16GB | GPU: 2 x GTX 1080 Ti SLI | 3xSSDs for OS and Apps, 2 x HDD's for 11GB storage | PSU: Seasonic X-1250 M2| Case: Corsair C70 | Cooling: Corsair H115i Hydro cooler | Displays: Asus PG278QR, BenQ XL2420TX & BenQ HT1075 | OS: Windows 10 Pro + Windows 7 dual boot
Like my fixes? Dontations can be made to: www.paypal.me/DShanz or rshannonca@gmail.com
Like electronic music? Check out: www.soundcloud.com/dj-ryan-king
For d3dcompiler_47.dll, I can say with assurance that this will never work. I looked into this awhile ago to see if we could move our tools up to VS2015.
The problem is that the Decompiler uses the ASM text to determine variable names and other pieces of the code. (It also partly uses a tool called James-Jones for binary pieces, but is incomplete.) *_47.dll changes all the ASM output, because why would Microsoft every miss a chance to change things that don't matter? So the output doesn't match what the Decompiler expects, and it all goes down in flames.
Changing the Decompiler to support *_47 would be extremely time consuming and low value. Also, if one of us is going to take time to update it, the far superior approach would be to flesh out the use of the James-Jones cross compiler, which reads the binary directly instead.
I'll try to take a look to see if I can remove the requirement to load the *_46.dll, as we don't need it for playing. That would allow you to setup a fix with .bin cached files, and run without the file.
I also contacted the Easy-AC people to see about whitelisting 3Dmigoto, but they never respond. Long term, they will die like all the rest.
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