possible fix for D3DOverrider & RTSS with ReShade

  • LasseB
  • Topic Author
More
9 years 1 week ago - 9 years 1 week ago #1 by LasseB possible fix for D3DOverrider & RTSS with ReShade was created by LasseB
Just discovered these fixes. They work for me, but I think some further testing by others is needed to see how reliable they are. Please post how it went for you!



RTSS (RivaTuner Statistics Server):
  1. exit RTSS
  2. go to the directory where it's installed
  3. open the file named just "Config" in the "Profiles" subdirectory
  4. completely remove both sections "FnOffsetCache" and "FnOffsetCache64"
  5. save the file and start up RTSS
It will recreate these entries, but some of the numbers will have changed.





D3DOverrider:
  1. exit D3DOverrider
  2. go to the directory where it's installed
  3. open "Config" in the "Profiles" subdirectory
  4. delete the "FnOffsetCache" section
  5. save the file
  6. copy the DXGI.DLL that your shader put into the E:D directory into the same directory that D3DOverrider.exe and D3DOverriderWrapper.exe are in
  7. run D3DOverrider.exe or D3DOverriderWrapper.exe (I never bothered to figure out what the differences are between the two)

You'll likely get the ReShade greeting again when D3DOverrider is coming up. Acknowledge it. D3DOverrider then recreates the settings you deleted earlier but adapts them to your custom DXGI.dll. That's it.


@Crosire
Am I corrent to presume that in a line like

Redirecting 'IDXGISwapChain::ResizeBuffers(44CC4128, 2, 1920, 1080, 87, 0x2)' ...

the second parameter lists the total number of buffers? Maybe it's just me jumping to conclusions, but it changes from 2 to 3 whenever D3DOverrider is running with triple buffering enabled.
Last edit: 9 years 1 week ago by LasseB.
The following user(s) said Thank You: Constantine PC

Please Log in or Create an account to join the conversation.

  • crosire
More
9 years 1 week ago - 9 years 1 week ago #2 by crosire Replied by crosire on topic possible fix for D3DOverrider & RTSS with ReShade
Oh, I wasn't expecting D3DOverrider to generate the function offsets for hooking itself, I thought they were precalculated. That then fixes it indeed, since when ReShade is active it should calculate the correct offsets into the ReShade DLL rather then the actual system DLL.

LasseB wrote: the second parameter lists the total number of buffers?

Correct.
Last edit: 9 years 1 week ago by crosire.

Please Log in or Create an account to join the conversation.

  • Constantine PC
More
9 years 1 week ago #3 by Constantine PC Replied by Constantine PC on topic possible fix for D3DOverrider & RTSS with ReShade
Thanks for sharing. RTSS is already working with ReShade for me but I'll have to give this one a go for D3DOverrider.
I will report back when I get around to it. :P

Please Log in or Create an account to join the conversation.

  • jmp909
More
9 years 1 week ago - 9 years 1 week ago #4 by jmp909 Replied by jmp909 on topic possible fix for D3DOverrider & RTSS with ReShade
has anyone got D3DOverrider working with Windows 8.1 64bit? (even just on its own, without Reshade)


[strike]also presumably there is no way to stop Reshade affecting RTSS? I'm getting all the digits blurred by DOF settings etc. I tried VectorD, Vector3D, Raster3D, Viewport, Framebuffer but they're all affected[/strike]
[update: to fix RTSS blurring, turn off Custom Direct3D Support]

thanks
J
Last edit: 9 years 1 week ago by jmp909.

Please Log in or Create an account to join the conversation.

  • LasseB
  • Topic Author
More
9 years 1 week ago #5 by LasseB Replied by LasseB on topic possible fix for D3DOverrider & RTSS with ReShade
@jmp909
I did all my testing and fiddling on Win8.1 x64. Don't know what else would prevent D3DOverrider from working unfortunately.

Please Log in or Create an account to join the conversation.

  • Constantine PC
More
9 years 1 week ago #6 by Constantine PC Replied by Constantine PC on topic possible fix for D3DOverrider & RTSS with ReShade
Alright so I got around to testing this and it does work. But, it seems to have some problems due to the nature of the workaround.
This is all on Windows 7 64bit, so I can't speak for Windows 8.1.

Problem 1: D3DOverrider is thinking my refresh rate is 10 under what it is (75). Absolutely no clue why it is, but it is.

Problem 2: It doesn't work with earlier versions of ReShade without changing the dxgi.dll.

Problem 3: Screen Tearing was present in game with D3DOverrider, but isn't normally present with default settings. (vsync forced on didnt help, using the native vsync in game + D3D triple buffering still caused the same problem)

Overall yes this does work. But not without it's issues.

Please Log in or Create an account to join the conversation.

  • LasseB
  • Topic Author
More
9 years 1 week ago #7 by LasseB Replied by LasseB on topic possible fix for D3DOverrider & RTSS with ReShade
That's odd. I don't observe any of the issues you mentioned on my system.
[FnOffsetCache]
DDRAW.DLL= 00084E00 921F9623
IIDirectDraw4::CreateSurface=00036F60
IDirectDrawSurface7::Flip=0003E900
D3D8.DLL= 00104400 E85A7E82
IDirect3D8::CreateDevice=00035C40
IDirect3DDevice8::Reset=000632A0
D3D9.DLL= 001D1AB8 261FAEF6
IDirect3D9::CreateDevice=00021C30
IDirect3DDevice9::Reset=00032940
DXGI.DLL= 00069060 7145B10D
IDXGIFactory::CreateSwapChain=097ABC30
IDXGISwapChain::ResizeBuffers=00026800
IDXGISwapChain::Present=000264F0
kernel32.dll= 000FE000 33E9763F
LoadLibraryA=00018F80
LoadLibraryW=0001A820

Perhaps something can be found out by comparing values.

My current setup (just the important parts):
Win8.1 x64
GeForce 780 GTX
ReShade beta 0.17.1
D3DO 2.0.1
RTSS 6.2.0.7500
tested on Elite Dangerous, no compatibility flag set

Please Log in or Create an account to join the conversation.

  • Martigen
More
9 years 1 week ago - 9 years 1 week ago #8 by Martigen Replied by Martigen on topic possible fix for D3DOverrider & RTSS with ReShade

LasseB wrote: Just discovered these fixes. They work for me, but I think some further testing by others is needed to see how reliable they are. Please post how it went for you!

D3DOverrider:

  1. exit D3DOverrider
  2. go to the directory where it's installed
  3. open "Config" in the "Profiles" subdirectory
  4. delete the "FnOffsetCache" section
  5. save the file
  6. copy the DXGI.DLL that your shader put into the E:D directory into the same directory that D3DOverrider.exe and D3DOverriderWrapper.exe are in
  7. run D3DOverrider.exe or D3DOverriderWrapper.exe (I never bothered to figure out what the differences are between the two)

You'll likely get the ReShade greeting again when D3DOverrider is coming up. Acknowledge it. D3DOverrider then recreates the settings you deleted earlier but adapts them to your custom DXGI.dll. That's it.

Interesting! Have to try this.

Edit: Looking at the D3DO config file -- if we want this to work with 32-bit and 64-bit games, I presume we'll need to keep two copies of D3DO in separate directories, with a 32-bit or 64-bit Reshade .dll accordingly, since the config file can only specify one .dll to reference -- or is the hooking offset the same regardless?
Last edit: 9 years 1 week ago by Martigen.

Please Log in or Create an account to join the conversation.

  • crosire
More
9 years 1 week ago #9 by crosire Replied by crosire on topic possible fix for D3DOverrider & RTSS with ReShade

Martigen wrote: or is the hooking offset the same regardless?

I doubt that, since 64bit ReShade is different from 32bit (it misses some exports like no D3D8 for instance, since there is no D3D8 for 64bit).

Please Log in or Create an account to join the conversation.

We use cookies
We use cookies on our website. Some of them are essential for the operation of the forum. You can decide for yourself whether you want to allow cookies or not. Please note that if you reject them, you may not be able to use all the functionalities of the site.