New Reshade version is available for download, offering experimental support for DX12 games


And the time has finally come. In case you weren’t aware of, all these past years Reshade was not compatible with the latest DirectX API, DX12. However, this is about to change as a new version has been released that offers experimental compatibility with Microsoft’s latest API.

For those not knowing, ReShade is a generic post-processing injector for games and video software developed by crosire. Reshade allows you to brute-force ambient occlusion, real depth of field effects, color correction and more. According to its desctiption, ReShade exposes an automated and generic way to access both frame color and depth information (latter is automatically disabled during multiplayer to prevent exploitation) and all the tools to make it happen.

Among other things, Reshade version 4.3 adds experimental support for D3D12 and for saving preprocessor definitions to preset aside from config file, new D3D9 depth buffer detection techniques by thalixte, new “list” GUI widget, as well as a workaround for OpenGL games that use fixed texture names.

Those interested can download this latest version of Reshade from here, and below you can find its complete changelog.

Reshade Version 4.3 Release Notes

  • Added experimental support for D3D12
  • Added support for saving preprocessor definitions to preset aside from config file
  • Added new D3D9 depth buffer detection techniques by thalixte
  • Added new “list” GUI widget
  • Added error when attempting to upload texture with unsupported format
  • Added workaround for OpenGL games that use fixed texture names
  • Added ordinals to exports since some applications import functions by ordinal rather than by name (I’m looking at you Warhammer)
  • Added tooltip to techniques that failed to compile which shows compile errors
  • Added support for clicking on an effect on the statistics page to collapse it
  • Added fine tuning buttons to “drag” GUI widget (similar to those for “slider”)
  • Added buttons to switch to previous or next preset
  • Improved performance of file operations
  • Distinguish between german and international keyboard layout when displaying key names
  • Changed preset selection to a file dialog
  • Changed VTable hook installation to support multiple VTable refering to the same hook function
  • Changed HLSL compiler load error log message
  • Changed display precision of floating point display to match the one of the “ui_step” value
  • Disable font scaling with Ctrl + mouse wheel after tutorial finishes
  • Increased precision of timers
  • Changed error message for no matching intrinsic overload
  • Fixed effects not being displayed if GUI is not active and the last technique did not render to the back buffer
  • Fixed mouse cursor position when using up/downscaled render resolution
  • Fixed missing source file information in preprocessor syntax errors
  • Fixed preprocessor not throwing an error on malformed preprocessor expressions
  • Fixed “Reset all to default” button not saving preset after completion
  • Fixed ReShade reloading after closing preprocessor definitions popup even if no changes were made
  • Fixed sorting techniques by name not taking the “ui_label” annotation into account
  • Fixed ReShadeGUI.ini not always being stored in the ReShade DLL directory
  • Fixed low precision of “BUFFER_RCP_WIDTH” and “BUFFER_RCP_HEIGHT” macro definitions
  • Fixed constant folding of logic operations generating wrong result type
  • Fixed integer arithmetic on boolean values causing a compile error
  • Fixed texture upload/download pitch calculations
  • Fixed empty compile error log message when texture creation failed
  • Fixed loading of effect files with an UTF-8 BOM
  • Fixed rendering to texture clipping to window size in OpenGL
  • Fixed texture upload producing garbage values in OpenGL in some games because of wrong pixel storage unpack modes
  • Removed “WSARecvEx” hook