OpenGL problems with ReShade 4.0
- BlueSkyKnight
- Topic Author
Games List with Video and log
Prey 2006 - GL error game refuses to start.
pastebin.com/WarNGyuM
Quake 4 - Same as Prey GL error
pastebin.com/h0E2688S
Quake Epsilon running on DarkPlaces - Starts Up: But Problems with missing effects in game. Also, if I turn my shader on it CTD.
pastebin.com/HXUCFf6Y
I am assuming it effects mostly all older OpenGL Games.
Please Log in or Create an account to join the conversation.
- BlueSkyKnight
- Topic Author
pastebin.com/Hahs689B
Rage64 - Starts up then CTD
pastebin.com/amJrMeLk
SOMA - Black Screen on startup
pastebin.com/CKAyf7t8
Amnesia: Machine for Pigs - Give Error: No matching GL Pixel formant
pastebin.com/XCEYdDqu
Someone else on the forum also listed Diablo 2 a OpenGL game that not working anymore. I don't have that game to test.
Wolfenstein: The New Order- seems unaffected. Until you play the game and this problem shows up. Even when you turn off your shaders in game.
DOOM seems to be not affected other than clicking ReShade menu is hard to do and I have to use the workaround used in older games such as Quake 4, Doom 3, and Prey to be able to interact with the ReShade menu. This is done by opening the in-game console to interact with it.
Please Log in or Create an account to join the conversation.
- crosire
There is one other OpenGL bug fixed in 4.0.1 which had to do with ReShade not resetting a state correctly after it finished rendering. This affected rendering results in some games.
The crash you saw when turning on your shader was a driver crash due to the ReShade FX compiler generating an infinite loop. This is fixed in 4.0.1 as well.
Please Log in or Create an account to join the conversation.
- BlueSkyKnight
- Topic Author
I will be testing the new release.
Please Log in or Create an account to join the conversation.
- BlueSkyKnight
- Topic Author
I will be listing what works and what does not work.
Fixed Games
SOMA - No more solid black screen
Wolfenstein: The New Order - No more graphics abnormality.
Quake Epsilon running on DarkPlaces - No more graphics abnormality & No more CTD when selecting my shader.
Rage64 - No more CTD
Games With issues
Rage32
pastebin.com/rpaArrYR
Prey 2006
pastebin.com/VMyZqDT5
Quake 4
pastebin.com/2d2V70H3
That seems to be about it. Two of the games are basically running on the same engine.
Quake 4 and Prey 2006 run the id Tech 4. So I also tested Doom3 for a sanity check.
Sure enough same problem.
Please Log in or Create an account to join the conversation.
- BlueSkyKnight
- Topic Author
Amnesia: A Machine for Pigs
pastebin.com/Tpp0VjjE - Not Working 4.0.1
I wonder what caused this error to pop up.
Please Log in or Create an account to join the conversation.
- BlueSkyKnight
- Topic Author
So a workaround, for now, to use ReShade 4.1.0 in the game Amnesia: A Machine for Pigs.
Is to change the "opengl32.dll to dxgi.dll"
This will allow you to use ReShade 4.1.0 in this OpenGL game. I assume this will also work with the other games as well.
For some reason, it's not working when you try to load with the opengl32.dll on windows 10
Please Log in or Create an account to join the conversation.
- crosire
Please Log in or Create an account to join the conversation.
- tfpancakes
Please Log in or Create an account to join the conversation.
- dorez`
Thanks for the work!
Please Log in or Create an account to join the conversation.
- crosire
TLDR: It's fixed now.
Full explanation: ReShade has had a linker optimization called COMDAT folding active for a long time now. What this does is attempt to merge functions which do the same thing into a single function to save space. Unfortunately the optimizer wrongly merges a few functions together, which rely on being separate. In this concrete case it merged the two DLL exports "wglDescribePixelFormat" and "DXGID3D10CreateDevice" into a single one. This is obviously wrong because the call two completly different functions internally, but at object level they look the same. But what this means is now every time "wglDescribePixelFormat" is called, it instead calls "DXGID3D10CreateDevice" which does something completly different. On Windows 10 the "wglChoosePixelFormat" function is internally implemented as a loop over "wglDescribePixelFormat". Since ReShade overwrote that function it didn't do what Windows expected and fails, which causes "wglChoosePixelFormat" to fail and produce all the different errors these games were reporting.
So there is nothing wrong in the ReShade source code. Which is also why it used to work before. The optimizer just so happened to merge these functions this time during build. I just got lucky that it never did so before.
This optimization is now disabled, which fixes the build and ReShade behaves as intended again: github.com/crosire/reshade/commit/c8f0d5...c08ad529ff2d3f460e73 .
Please Log in or Create an account to join the conversation.
- BlueSkyKnight
- Topic Author
Everything seems to work now as normal.
Please Log in or Create an account to join the conversation.
- romulus_ut3
Any workarounds for this?
Please Log in or Create an account to join the conversation.