ReShade, a graphic modification tool, releases 4.5.0 updates: improved support for newer APIs such as Vulkan

ReShade, a well-known third-party graphics modification tool, released a 4.5.0 major version update yesterday, with the biggest highlight being improved support for newer APIs such as Vulkan. The new version also makes a number of improvements to the GUI, effects compiler, Vulkan back-end implementation, and optimizes depth buffer detection in DirectX 9 and DirectX12.

ReShade, a graphic modification tool, releases 4.5.0 updates: improved support for newer APIs such as Vulkan

Download address:

In addition to the above, this update adds additional details, including

Adjust the deep buffer detection code for all APIs again (they are now more similar, including providing more options for OpenGL)

Use SPIR-V for shader switching in OpenGL 4.6 for better performance (this requires the latest driver to work properly)

Added UI widget for pre-handler definition stogeaching for variable list

Added compiler error when passing r value to out argument of function

Added compiler error when pass is missing shader functionality

Added shader signature validation to affect compiler

Added support for the allocation chain for ReShade FX (e.g. “a s b s c s 0;” )

An adjustment button has been added to the combo box plug-in and a label has been added to the radio button list

Added option to display only specific color ingredients in texture previews

Add a right-click menu to the technical list to edit the contained files in addition to the primary source file

Increased support for texture pools with “pooling” (poOLED) comments


texture MyTex1 slt; pooled s sgt; s width s 100; Height s 100; Format – RGBA8; };

texture MyTex2 slt; pooled s sgt; s width s 100; Height s 100; Format – RGBA8; };

If a pooled comment is set, ReShade will now attempt to reuse the same memory for textures of the same size and format. This also applies to effect files.

Added a “ui_text” comment to the unified variable to display custom text above the variable widget (see figure below)

Added support for GPU timing in Vulkan

Added environment variables to override path ReShade should load the next DLL from

You can now set the RESHADE_MODULE_PATH_OVERRIDE to ReShade’s directory to load the next DLL, so you can link ReShade to other injectors

OpenGL version information added for recording

Improved compiler error recovery for resolving errors in the list of function parameters and annotations

Improved Vulkan command buffer management (improved performance)

Improved multithreaded effect loading

The settings tool has been changed to install the global Vulkan layer when it is opened (fixed with RDR2)

Change the installation tool to use the .NET Framework 4.5 again for backward compatibility

Change texture preview to hide when the effect is disabled

Changed COM reference count behavior to better meet COM requirements

Change the default preset path to an executable directory for Vulkan compatibility

Fix memory leak in Vulkan (deterioration per frame)

Deep buffer detection repaired in Vulkan

Fixes an issue where the setup tool can’t update the search path to an absolute path in Vulkan

Fix HLSL compiler errors for variables named “technology” or “pass”

A compilation error with a fixed effect with the “discard” statement as the last statement in the function, with a return value

The fixed effect compiler error in the definition does not cause the effect compilation to fail

Fixed effect compiler errors when linking multiple conversions in an expression

Fixed effect compilers sometimes report duplicate syntax errors

Fixes an issue where the effect compiler crashes when an undeclared identifier is encountered while the shader passes through

Fixes an issue where empty preprocessor macros are not properly evaluated

Fixed GLSL code generation for matrix index

Fixed GLSL code generation with vertex shader with return semantics

Fixed GLSL code generation for certain component operations

Fixed GLSL code generation with underlined entry points in the name

Fixes an issue that generates GLSL code for Boolean values in index expressions

Fixes an issue with GLSL code generation using non-floating-point matrix for arithmetic operations

Fixes an issue where D3D10 / 11 depth stencil views were created that failed in some games (e.g. ArmA 3)

Fixes an issue where games that use the GL_DEPTH_COMPONENT format (e.g. Mugen 1.1) cannot create OpenGL depth textures

Fixed OpenGL state that cannot be restored during texture upload, which can lead to texture artifacts in some games

Fix an issue that crashed when “wglMakeNow” was called in the unhooked OpenGL context

Fixed access to textures in vertex shaders in D3D9 (but limited to 4 bindings)

Fixes an issue where the “UseAspectRatio Heuristics” option is not stored in the profile in D3D9

Fixed the color-write mask that incorrectly exists with multiple render targets in D3D9

Fixed the color-write mask that incorrectly exists with multiple render targets in D3D9

The Vulkan performance mode was fixed with error values

Fixed current depth template inheritance in D3D12 buffer detection

Fixes an issue where shared textures are removed prematurely if you uninstall a single effect

Fixed preset switch always returns to the DLL directory for the next preset

The position of the fixed button

Fixed slider buttons can change values outside the valid range due to floating-point precision errors

Fixes an issue where flash screens no longer appear when reloading after a single effect is reloaded

Fixes an issue with enlarged font size, causing some buttons to be cropped and textures displayed on the statistics page

Format filtering removed from depth buffer detection

Remove the skip button for other next steps outside the first step

Add a Comment

Your email address will not be published. Required fields are marked *