Welcome, Guest.
Username: Password: Remember me

TOPIC: possible fix for D3DOverrider & RTSS with ReShade

possible fix for D3DOverrider & RTSS with ReShade 1 year 8 months ago #1

  • LasseB
  • LasseB's Avatar
  • Offline
  • Posts: 10
  • Thank you received: 1
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: 1 year 8 months ago by LasseB.
The administrator has disabled public write access.
The following user(s) said Thank You: Constantine PC

possible fix for D3DOverrider & RTSS with ReShade 1 year 8 months ago #2

  • crosire
  • crosire's Avatar
  • Offline
  • Posts: 2451
  • Thank you received: 1391
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.
Cheers, crosire =)
Last Edit: 1 year 8 months ago by crosire.
The administrator has disabled public write access.

possible fix for D3DOverrider & RTSS with ReShade 1 year 8 months ago #3

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
I'm always learning.
The administrator has disabled public write access.

possible fix for D3DOverrider & RTSS with ReShade 1 year 8 months ago #4

  • jmp909
  • jmp909's Avatar
  • Offline
  • Posts: 135
  • Thank you received: 48
has anyone got D3DOverrider working with Windows 8.1 64bit? (even just on its own, without Reshade)


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
[update: to fix RTSS blurring, turn off Custom Direct3D Support]

thanks
J
Last Edit: 1 year 8 months ago by jmp909.
The administrator has disabled public write access.

possible fix for D3DOverrider & RTSS with ReShade 1 year 8 months ago #5

  • LasseB
  • LasseB's Avatar
  • Offline
  • Posts: 10
  • Thank you received: 1
@jmp909
I did all my testing and fiddling on Win8.1 x64. Don't know what else would prevent D3DOverrider from working unfortunately.
The administrator has disabled public write access.

possible fix for D3DOverrider & RTSS with ReShade 1 year 8 months ago #6

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.
I'm always learning.
The administrator has disabled public write access.

possible fix for D3DOverrider & RTSS with ReShade 1 year 8 months ago #7

  • LasseB
  • LasseB's Avatar
  • Offline
  • Posts: 10
  • Thank you received: 1
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
The administrator has disabled public write access.

possible fix for D3DOverrider & RTSS with ReShade 1 year 8 months ago #8

  • Martigen
  • Martigen's Avatar
  • Offline
  • Posts: 147
  • Thank you received: 35
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: 1 year 8 months ago by Martigen.
The administrator has disabled public write access.

possible fix for D3DOverrider & RTSS with ReShade 1 year 8 months ago #9

  • crosire
  • crosire's Avatar
  • Offline
  • Posts: 2451
  • Thank you received: 1391
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).
Cheers, crosire =)
The administrator has disabled public write access.