Reshade 4.0 Is Now Available and Offers Many Improvements
Cernescu Andrei / 6 years ago
Reshade 4.0 is quicker and more stable.
Reshade is one of the most popular mod compilers out there, that much is clear. However, since there’s always room for improvement, Crosire has decided to release a brand new version of it. Mods often receive updates as time goes by, but Reshade 4.0 is special because Crosire rewrote the ReShade FX compiler from the ground up. This means that the compiler offers better error recovery, improved stability, and better speed. Furthermore, it looks like the recent updates are paving the future for Vulkan support. DX 12 support should follow soon after, at least we hope so.
Any other significant changes?
Reshade 4.0 features an improved UI, and the default keybdind for opening the in-game overlay is now “Home.” Gamers can now enable separate frame time and FPS overlays, which is always welcomed. You can download the new Reshade right here, and you can have a look below for a complete list of changes.
Reshade 4.0 Release Notes
- Rewrote ReShade FX compiler from the ground up to generate SSA code (way too many changes to list them all)
- Added #line directives to HLSL/GLSL output for better error messages when HLSL/GLSL compilation fails
- Added error for array declarations without a size
- Added error when attempting to cast arrays
- Added variable name to error messages referring to variables
- Added context menu to variable widgets with the option to reset them to their default value
- Added option to display boolean values as combo box instead of checkbox (via < ui_type = “combo”; >)
- Added option to save preset and settings with screenshot
- Added in-game code editor
- Added experimental variable editing UI which uses tabs instead of trees (disabled by default, can be enabled in settings)
- Added progress bar to loading progress on splash bar
- Added separate FPS and frame time overlay and changed their font to the same as the UI
- Added radio button widget (via < ui_type = “radio”; ui_items = “Button 1\0Button 2\0…\0”; >)
- Show techniques belonging to effects that failed to compile in the technique list
- Updated to latest ImGUI with support for docking
- Changed effect loading to use multiple threads for initial compilation with the ReShade FX compiler and only compile the generated HLSL/GLSL code for those effects that are enabled
- Delayed effect loading to the first frame
- Changed default keyboard shortcut to open the UI to “Home”
- Changed the default color scheme (thanks to CeeJay)
- Changed drag widget to a slider widget (old one is still available via < ui_type = “drag2”; >)
- Changed font scaling to actually re-create the font atlas with a different font size instead of scaling the atlas texture
- Changed setup to use relative search paths by default
- Changed setup to select Steam installation directory by default if present
- Create a default preset file on launch if none exists (so no changes are lost if the user forgot to create one)
- Reworked styling settings
- Reworked various UI widgets (e.g. search path selection, preprocessor settings, …)
- Reworked statistics UI design and added texture preview
- Improved performance of update loop for special uniform variables (those with a < source = …;> annotation)
- Fixed text input not working if raw input is used with legacy keyboard messages disabled
- Fixed mouse cursor being reset to the window corner on first call when input blocking is active
- Fixed race condition when accessing input causing ReShade to ignore keyboard strokes sometimes
- Fixed errors staying on splash screen after reloading shaders
- Fixed crash when constant folding encounters a divide by zero expression
- Fixed implicit type conversion rules for functions with multiple parameters
- Fixed window becoming inactive when global alpha is set to zero
- Fixed LOD bias for textures with auto-generated mipmaps in D3D9
- Fixed crash if sampler bindings exceed the input resource slot limit in D3D10/D3D11
- Removed API specific effect compilers and instead handle everything in standalone ReShade FX compiler
- Removed support for custom #pragma directives
- Removed username filtering from log output
- Removed support for intrinsic functions in constant expressions from ReShade FX compiler
- Removed performance mode hint popup (should be obvious enough with the checkbox now)