-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Does not seem to work for me #3
Comments
Can you provide a screenshot from the game? |
Are you running 32-bit windows? |
Where did you place the DLL? Make sure it's in the Binaries folder with MassEffect.exe and not where the launcher is. |
Im running 64-bit Windows 10. |
That is so strange. Can you send me your binaries folder so I can test it? I have ME1 installed, I can do it right away. Send it to info@fdossena.com if you don't want to post it publicly. |
What happens if you rename MassEffect.exe to ut3.exe? Some games won't load certain DLLs when they're run as administrator. |
Hi @vlad54rus, it may seem redundant but we have to verify a few things before we can move forward.
Thanks! |
That's very concerning, because everything looks valid. To clarify - when you tested Also, you seem to be using a BINK hook - can you list all the other mods you have? |
I tested both - same results. |
Just my 2 cents: can you try this on a clean install on ME1? ME1 recalibrated has caused several glitches for me even on intel. Not this one though |
Tried on clean install - issue still occurs. |
If you have 64-bit windows.. Also, when ordering by name modded d3dx9_31.dll is above the system one, at least on my W7. |
C_1252.NLS? Many apps load it. |
I see. |
I doubt ME1 will run in a VM |
@vlad54rus can you try this DLL? It's the original d3dx9_31.dll, except I modified a jump so that it will always think that DisableD3DXPSGP is set regardless of what's in the registry. |
@adolfintel Sadly, this also didn't work. I made sure it is loaded instead of system one, but glitch still occurs. |
Why shouldn't it run in a VM? |
Because unless he's doing a proper GPU passthrough, the 3D acceleration inside virtualbox and vmware is pretty shitty and makes most modern-ish games crash. |
Thankfully ME isn't a modern game. |
Really? It never worked for me on virtualbox |
@vlad54rus What GPU are you using? Looks NVIDIA based. |
If everyone could reach out to their AMD FX-series friends and see if they can reproduce the issue, that would be greatly appreciated. That'll drive whether or not I purchase some hardware to assist with debugging efforts. |
@riverar NVIDIA GTX 660, driver 391.35. |
I only have a ryzen and an i7 unfortunately, no old bulldozers :( |
Bobcat is even older and works just fine with the fix (though that has probably way different potato registers). p.s. people criticized the fix here |
@vlad54rus I'm going to buy some parts to test this. Can you provide a CPUZ screenshot/dump of your processor so I can be extra sure I'm getting the right parts? Thanks! |
And |
@zTorden Thanks very much for reaching out. Can you try @adolfintel's DLL above? #3 (comment) That'll verify it's broken. |
neither DisablePSGP nor DLL from comment 3 made any difference |
OK, thanks. Purchased hardware to reproduce this. Will need about a week of patience from everyone to get the machine. 😅 |
@riverar |
So this only happens on FX chips, not Ryzen? |
It would only help figuring out if it's again the same data being broken - with the bug we've fixed it "persisted" on captures, but even if the same inputs are still broken then we'd need to restart the investigation anyway. |
@CookiePLMonster Just for curiosity, have you tried reverse engineering FPS counter? How did it fix ME1? |
I haven't because the FPS Counter author showed up out of nowhere under my blog post and explained the way he fixed the bug - and by the sounds of it, his approach was a workaround similar to our early attempts with "replacing broken data with correct data", which resulted in not broken yet too dark visuals. |
This sucks, I hope you can figure out what's wrong with it this time |
For reference, that's where FPS Counter author described his approach: |
I agree with your replies, it doesn't look the same as it does on Intel. |
Any progress? |
@mirh Nothing yet, sadly. |
Maybe bulldozer has an actually non-compliant FPU? Or perhaps slashed instructions are what "saved" Zen. |
Does not work for me either. I'm running it on AMD FX-8320 and Geforce GTX 970 on 64-bit WIndows 7. I used the binary DLL and then built it from source messing around with the code to make sure it was running. I also used the glm library to invert the matrix with both single and double precision, same result. Even running on Linux using WINE the bug happens identically. |
any luck so far? |
Confirmed reproduced on Bulldozer/Piledriver (FX6300 "Vishera", same as pictured above). I reached out to Silent on Twitter, but this is probably a more productive place to try and chip in. I followed the advice around it executing as admin and stuff with no success, so I'm guessing we're all in the same crummy-CPU boat on this one. I'll try to check up on this thread and am more than happy to provide a second (or third or w/e) test-point for any successful leads found during this follow-up investigation. I may not be a software engineer, but I'm very good at flipping switches inside Windows =D |
Hi, I currently cannot access my copy of Mass Effect, but could you test if DXVK has an influence on the problem? |
Same issue here with an AMD A8-5500M Based-laptop |
@PMunkes I tested using DXVK (with and without this patch, same result). CPU: FX6350 There are no "blobs", but the characters are still rendered flat black except for some highlights. Overall, this is much better than before and is "semi-acceptable" for me. |
@frabert Try winetricks vcrun2005, the runtime that comes with the game seems to not be enough. I had similar problem (identically black characters, but just on equipment/level up screen, and in character creator), installing vcrun2005 fixed it. Granted, I also had some geometry glitches that also got fixed, and I didn't have a problem like this in that mission (I had regular pixelated blobs there, which SilentPatch fixed), but the exact nature of "side effects" caused by lack of proper vcrun2005 install may depend on the CPU, I've got A8-7600. Unless I got confused and you're running DXVK under Windows, in which case... just install that runtime under Windows without using winetricks. |
I would rather check the terminal for D3DXLoadSurfaceFromMemory errors. Anyway, as said above and according to other testing of mine, it seems like excavator and steamroller cpus are all good with silentpatch. |
No chance for that FX-6300 to make some new discovery? |
So.. ME3Tweaks/LegendaryExplorer#71 still didn't get much far |
Is it normal that my cheap ass ghidra disassembly has branches in a pretty different fashion from the one reported in the writeup? x86_D3DXInitFastTable((D3DXFASTTABLE *)&g_D3DXFastTable);
ret = GetD3DRegValue(REG_DWORD,"DisablePSGP",&value,4);
if (ret == 0) {
value = 0;
}
ret = GetD3DRegValue(REG_DWORD,"DisableD3DXPSGP",&valueD3DX,4);
if (ret != 0) {
value = valueD3DX;
}
if (value != 1) {
if ((value == 2) || (ret = D3DIsProcessorFeaturePresent(PF_3DNOW_INSTRUCTIONS_AVAILABLE), ret == 0)) {
ret = D3DIsProcessorFeaturePresent(PF_XMMI64_INSTRUCTIONS_AVAILABLE);
if (ret == 0) {
ret = D3DIsProcessorFeaturePresent(PF_XMMI_INSTRUCTIONS_AVAILABLE);
if (ret != 0) {
intelsse_D3DXInitFastTable((D3DXFASTTABLE *)&g_D3DXFastTable);
g_CpuOptimization = 3;
}
}
else {
intelsse2_D3DXInitFastTable((D3DXFASTTABLE *)&g_D3DXFastTable);
g_CpuOptimization = 2;
}
}
else {
amd_D3DXInitFastTable((D3DXFASTTABLE *)&g_D3DXFastTable);
g_CpuOptimization = 1;
}
} Also of note that even the SSE2 optimizations still call for the Anyhow, I feel like very trivially there's only two main possibilities left here:
In the first scenario, besides the obvious trying to also shim all the other functions, maybe playing with a VM and cpuid masking could be already enough (if dx9 has all the right checks in place that should be enough to avoid 100% of the shaky codepaths) |
Running Steam version of Mass Effect on FX-4170. Installed your dll and it seems to be loaded according to Process Explorer, but black blob glitch still occurs. Setting DisableD3DXPSGP or DisablePSGP in HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Direct3D\ also didn't help.
Any thoughts?
The text was updated successfully, but these errors were encountered: