Summary
- The ReShade 6.0 update adds ray tracing and mesh shading APIs to enhance graphics in older games.
- ReShade allows users to customize graphics in older games without depending on developer updates to do it for them.
- The ReShade 6.0 update also includes bug fixes and new features such as localization and OpenXR support.
Playing older games can be a lot of fun, but for some people, the game's outdated graphics make it a chore. Fortunately, you don't have to make do with dated graphics. Post-processing tools make aging games look much better and put your spare graphics card power to good use. ReShade is one of the more popular post-processing apps out there, and with its new 6.0 update, it can now apply ray tracing and mesh shading to your favorite games.
ReShade receives its 6.0 update
If you've never heard of ReShade, it's a post-processing app that can apply graphical enhancements to games. If you're playing an older game and you notice missing some modern-day graphical touch-ups, or you just wish the game was a little more colorful, you can use ReShade to tweak the game to your liking without waiting for the developer to fix it for you.
ReShade has just received its 6.0 update, and the developers posted the full changelog on the ReShade forum. There are a lot of additions and bug fixes in this update, but the most interesting tweaks are the inclusion of APIs for ray tracing and mesh shading. With these tools in the hands of developers, old games are about to look a lot better.
You can visit the ReShade 6.0 download page to grab it for yourself, and you can check out the full changelog here:
Features:
- Added localization (currently with translations for Bulgarian, English, French, German, Japanese, Simplified Chinese)
- Added OpenXR support
- Added support for resolving MSAA depth buffers in D3D9 (using RESZ), D3D12, OpenGL and Vulkan (when supported by the driver)
- Added support for CUBE LUT files as texture source
- Added API to manually manage ReShade effect runtime instances when graphics hooks are disabled ("ReShadeCreateEffectRuntime", "ReShadeDestroyEffectRuntime" and "ReShadeUpdateAndPresentEffectRuntime" DLL exports) SpecialK e.g. uses this so that one can inject SpecialK late into an application and have it load and manage ReShade, instead of requiring ReShade to hook at application launch
- Added fence synchronization add-on API ("device::create_fence", "command_queue::signal", "comand_queue::wait", ...)
- Added color space add-on API ("swapchain::check_color_space_support", "swapchain::get_color_space", "effect_runtime::set_color_space" , ...)
- Added ray tracing add-on API and events ("command_list::build_acceleration_structure", "command_list::dispatch_rays", ...)
- Added mesh shader add-on API and events ("command_list::dispatch_mesh", ...)
- Added "device::get_property" add-on API to query device information, "command_queue::get_timestamp_frequency" and more
- Added various functions to effect runtime add-on API ("effect_runtime::open_overlay", "effect_runtime::reset_uniform_value", ...)
- Added "addon_event::reshade_overlay_uniform_variable" and "addon_event::reshade_overlay_technique" events allowing customization of the widgets used to show uniform variables or techniques in the overlay
- Added built-in "__FILE_NAME_HASH__" and "__FILE_STEM_HASH__" preprocessor macros
- Added "f16tof32" and "f32tof16" intrinsics to ReShade FX
- Added "tex1Dgrad", "tex2Dgrad" and "tex3Dgrad" intrinsics to ReShade FX
- Added "noedit", "noreset" and "nosave" variable annotations and forced loading of "*.addonfx" effect files
- Added "ui_category_toggle" variable annotation to toggle visibility of a variable category based on the uniform value
- Added loaded add-on names to preprocessor definitions (e.g. "ADDON_GENERIC_DEPTH=<version>" for the Generic Depth add-on)
Bug fixes:
- Fixed crash in Resident Evil 3 and other multi-threaded D3D11 games
- Fixed multisampled resource creation in OpenGL
- Fixed OpenGL context management to properly handle multiple windows (fixes infinite reloading with Citra's "Separate Windows" layout)
- Fixed some OpenGL errors with rectangle and multisample textures
- Fixed video playback issues in Unity engine games
- Fixed depth buffer detection in Immortals of Aveum
- Fixed "command_list::bind_descriptor_tables" not setting all descriptor heaps used by applications in D3D12
- Fixed "addon_event::bind_descriptor_tables" event not being called when D3D12 root signature is changed
- Fixed implicit back buffer resource creation when "effect_runtime::render_effects/render_technique" is called with a typeless resource
- Fixed crash when graphics hooks are disabled
- Fixed crash when uploading 3D texture data in D3D9
- Fixed crash in built-in Generic Depth add-on in multi-threaded OpenGL applications
- Fixed resource events for "GL_TEXTURE_BUFFER" buffers
- Fixed Vulkan validation error when swap chain was created with sRGB image format
- Fixed VR swap chain creating incompatible resources when format is typeless and has no sRGB variant
- Fixed variable editor categories expanding upon resize of the overlay window
- Fixed code editor save button mistakenly showing up for instances showing generated code
- Fixed item grouping of list widgets
- Fixed new preset popup closing when backspace button is pressed
- Fixed scrolling in add-ons window
- Fixed relative paths with ".\.\" or more dots being written to the config when the target file does not exist
Miscellaneous:
- Updated imgui to 1.90 (add-ons may now use 1.90, 1.89.7 or 1.86)
- Added additional depth buffer filter heuristic that only considers those matching the resolutione exactly
- Added coloring to depth buffer list indicating which buffers are candidates for selection based on the configured heuristics
- Added texture upload support for 32-bit texture formats (e.g. used for CUBE or HDR files)
- Added proper implementation for "command_queue::wait_idle" in D3D9/10/11
- Added support for "countbits", "reversebits", "firstbitlow" and "firstbithigh" intrinsics under D3D9 and 10 using emulated implementation
- Added effect compile error when attempting to use texture with semantic as a render target (these are always read-only)
- Added UTF-8 support to code editor
- Added button to open preset folder in explorer next to preset selector
- Added button to open log folder in explorer to log page
- Added button to open base folder in explorer to settings page
- Added note on what to do when add-ons were disabled due to network activity
- Clarified log message for add-on load failure
- Improved queue synchronization in Vulkan
- Changed effect runtime creation to avoid allocating any resources when disabled via "[GENERAL] Disable=1" in the config and made them independent from swap chain instances
- Changed typeless 16-bit format behavior in OpenGL to default to floating-point format
- Changed D3D10 and D3D11 barrier implementation to only unbind resources passed to the barrier command, rather than all
- Changed configuration file name selection to better distinguish between VR and non-VR effect runtime instances (ReShadeX.ini and ReShadeVRX.ini)
- Changed alternative log file name to "ReShade.logX", rather than "ReShadeX.log"
- Changed tutorial progress setting location to global config file (so that tutorial progress is shared for all effect runtime instances)
- Changed font scaling to not get disabled after tutorial finished (instead added a message overlay window while Ctrl + mouse wheel is pressed to inform users on what is happening)
- Changed preset browser popup to have a minimum width
- Changed tab view of variable editor to scroll tabs instead of downsizing them
- Removed toggle key annotations for techniques
- Removed "[APP] EnableTransparency" config option
- Renamed "[INSTALL] EnableLogging" config option to "[INSTALL] Logging"
- Renamed "[SCREENSHOT] PostSaveCommandNoWindow" config option to "[SCREENSHOT] PostSaveCommandHideWindow"
- Removed logging of full application command-line (since it can contain sensitive information)
Setup tool:
- Added OpenXR layer registration
- Added check for existing effect files (will now show an error instead of creating duplicates)
- Added add-on selection page
- Added detection and special handling for games modded with NVIDIA RTX Remix
- Merged preset and effect packages and effect files selection into a single page
- Fixed effect package toggle and renamed radio buttons on the uninstall page
- Fixed crash when encountering executables without a file name before the extension
- Fixed existing relative preset path not being resolved correctly
- Fixed app title when no file description exists
- Fixed uninstall failing when invoked through the command-line
- Changed unhandled exception handling to show error instead of crashing
- Changed uninstallation to remove all effect files found in local search paths
