If you’re a fan of modding the graphics in your games, then it’s likely you come across the Reshade tool. It effectively tweaks extensive graphics properties of a game, allowing you to sharpen, filter, re-colour and much more. Now, with update 4.5, Reshade now offers even better performance than ever in DX12 and Vulkan. Of course, there are improvements in DX9 and other modes too.
Reshade 4.5
No doubt those using Reshade on any game will want to update to see if they can improve their performance and options. If you’re eager to grab the files, you can download Reshade 4.5 right here. You can also check the huge range of games Reshade works with here. If you want to see the large changelog, you can do that below!
Reshade 4.5 Release Notes
Rework depth buffer detection code for all APIs again (They are now more similar, including more options for OpenGL)
Switched to using SPIR-V for shaders in OpenGL 4.6 for better performance (this needs recent drivers to work correctly)
Added UI widgets for preprocessor definitions to variable list
Added compiler error when passing a r-value to an out parameter of a function
Added compiler error when pass is missing shader functions
Added shader signature verification to effect compiler
Added support for assignment chains to ReShade FX (e.g. “a = b = c = 0;”)
Added adjustment buttons to combo box widget and label to radio button list
Added option to show only specific color components in texture preview
Added context menu to technique list to edit included files in addition to the main source file
Added support for texture pooling via “pooled” annotation
Added “ui_text” annotation for uniform variables to display custom text above the variable widget
Added support for GPU timings in Vulkan
Added environment variable to override path ReShade should load the next DLL from You can now set “RESHADE_MODULE_PATH_OVERRIDE” to a directory for ReShade to load the next DLL, so you can chain ReShade with other injectors
Added OpenGL version information to log
Improved compiler error recovery for parsing errors in function parameter list and annotations
Changed setup tool to install global Vulkan layer while it is open (fixes issues with RDR2)
Changed setup tool to use .NET framework 4.5 again for backwards compatibility
Changed texture preview to be hidden when effects are disabled
Changed COM reference counting behavior to better match COM requirements
Change default preset path to executable directory for Vulkan compatibility
Fixed memory leak in Vulkan (which worsened every frame)
Fixed depth buffer detection in Vulkan
Fixed setup tool not updating search paths to absolute paths in Vulkan
Fixed HLSL compiler error for variables that are named “Technique” or “Pass”
Fixed effect compile error with “discard” statement as last statement in a function with a return value
Fixed effect compiler error in pass definition not causing effect compile to fail
Fixed effect compiler error when multiple casts are chained in an expression
Fixed annotation assignments not supporting literal expressions (you can now write stuff like “< ui_min = 1 + 2; >”)
Fixed effect compiler sometimes reporting duplicated syntax errors
Fixed crash in effect compiler when encountering an undeclared identifier in a shader pass state
Fixed empty preprocessor macros not being evaluated correctly
Fixed GLSL code generation for matrix indexing
Fixed GLSL code generation for vertex shaders with a return semantic
Fixed GLSL code generation for some component-wise operations
Fixed GLSL code generation for entry points with underscores in the name
Fixed GLSL code generation for boolean values in index expressions
Fixed GLSL code generation for arithmetic with matrices that are not floating point
Fixed D3D10/11 depth stencil view creation failing in some games (e.g. ArmA 3)
Fixed OpenGL depth texture creation failing for games using format “GL_DEPTH_COMPONENT” (e.g. Mugen 1.1)
Fixed OpenGL states not being restored during texture upload, which caused texture artifacts in some games
Fixed crash if “wglMakeCurrent” was called on an OpenGL context that was not hooked
Fixed access to textures in vertex shaders in D3D9 (limited to 4 bindings though)
Fixed “UseAspectRatioHeuristics” option not being stored in config file in D3D9
Fixed wrong color write mask when there is more than one render target in D3D9
Fixed Vulkan performance mode using wrong values
Fixed current depth stencil inheritance in D3D12 buffer detection
Fixed shared textures being deleted prematurely if a single effect is unloaded
Fixed preset switching always falling back to DLL directory for next preset
Fixed position of slider buttons
Fixed slider buttons being able to change value outside valid range due to floating-point precision errors
Fixed splash bar no longer appearing on reload after reloading a single effect
Fixed scaling up the font size causing cropping some buttons and the display of textures on the statistics page
Removed format filtering from depth buffer detection
Removed tutorial skip button for all but the first tutorial step
Peter Donnell
As a child still in my 30's (but not for long), I spend my day combining my love of music and movies with a life-long passion for gaming, from arcade classics and retro consoles to the latest high-end PC and console games. So it's no wonder I write about tech and test the latest hardware while I enjoy my hobbies!