AMD FSR SDK
AMD FSR™ SDK v2.3 is the launchpad for our ML-based FSR "Redstone" rendering technologies, inc. AMD FSR Upscaling, Frame Generation, Ray Regeneration, and Radiance Caching.
ML-powered real-time denoising
ML-powered real-time denoising
AMD FSR™ Ray Regeneration is a standalone, machine learning-powered real-time denoiser that integrates with game engines, enabling high-quality visuals by denoising inputs from ray-traced workloads.
Requiring AMD RDNA™ 4 architecture graphics, it works best when combined with other AMD FSR “Redstone” technologies and transforms noisy outputs from ray tracing into a clean, coherent image.
AMD FSR Ray Regeneration delivers:
Supports:
AMD FSR Ray Regeneration 1.2.0 “Redstone” release (as part of the AMD FSR SDK 2.3):
Since the advent of hardware-accelerated ray tracing, real-time game and rendering engines have increasingly adopted ray tracing techniques. From realistic reflections to finely detailed shadows, ray tracing has significantly elevated visual fidelity in modern games. As GPU ray tracing capabilities continue to improve, developers are pushing the boundaries of global illumination (GI) and exploring real-time path tracing. However, raw ray-traced outputs are inherently noisy, making effective denoising essential for producing clean, high-quality images.
Denoising transforms noisy ray- or path-traced outputs into coherent, visually accurate images, often leveraging both spatial and temporal information. AMD FSR Ray Regeneration performs this task with a key advantage: it uses machine learning (ML) to dynamically determine optimal filter weights, delivering superior results compared to purely analytical methods.
AMD FSR Ray Regeneration 1.2 example
AMD FSR Ray Regeneration performs denoising independently of upscaling, making it a decoupled denoiser. In contrast, denoising and upscaling can also be combined into a single, joint operation. Both approaches are valid, but decoupling denoising into its own dispatch call simplifies adding additional rendered content afterward.
To maximize compatibility and efficiency when denoising your game’s specific workloads, AMD FSR Ray Regeneration provides multiple input/output signals:
| Signal flags | Input/output signals: |
|---|---|
| FFX_DENOISER_SIGNAL_AMBIENT_OCCLUSION | Ambient occlusion (in [0, 1]/[0, 1]) |
| FFX_DENOISER_SIGNAL_DIRECT_DIFFUSE | Direct diffuse |
| FFX_DENOISER_SIGNAL_DIRECT_SPECULAR | Direct specular |
| FFX_DENOISER_SIGNAL_DOMINANT_LIGHT_VISIBILITY | Dominant light visibility (in [0, FP16_MAX]/[0, 1]) |
| FFX_DENOISER_SIGNAL_INDIRECT_DIFFUSE | Indirect diffuse |
| FFX_DENOISER_SIGNAL_INDIRECT_SPECULAR | Indirect specular |
| FFX_DENOISER_SIGNAL_SPECULAR_OCCLUSION | Specular occlusion (in [0, 1]/[0, 1]) |
AMD FSR Ray Regeneration is designed to work seamlessly with AMD FSR Upscaling and AMD FSR Frame Generation. Additionally, the temporal anti-aliasing provided by FSR Upscaling adds an extra layer of smoothing when used alongside FSR Ray Regeneration.
AMD FSR Ray Regeneration performance may vary depending on your target hardware and configuration.
| Target Render Resolution | Average [ms] |
|---|---|
| 960x540 | 1.10 |
| 1920x1080 | 4.26 |
| 2560x1440 | 8.10 |
| Target Render Resolution | Average [ms] |
|---|---|
| 960x540 | 0.87 |
| 1920x1080 | 3.37 |
| 2560x1440 | 6.52 |
| Target Render Resolution | Average [ms] |
|---|---|
| 960x540 | 0.71 |
| 1920x1080 | 2.63 |
| 2560x1440 | 5.34 |
Performance figures are accurate at the time of writing for an AMD Radeon™ RX 9070 XT GPU and are subject to change.
Supported GPUs
Supported graphics APIs
Supported OS
Crimson Desert © 2025-2026 Pearl Abyss Corp. Crimson Desert is a trademark of Pearl Abyss. All rights reserved.
DirectX and Windows are trademarks of the Microsoft group of companies.
Added optional add-on ambient occlusion denoising.
Added optional add-on specular occlusion denoising.
Added support for checkerboard rendering.
Added FFX_API_CONFIGURE_DENOISER_KEY_DEBUG_VIEW_LINEAR_DEPTH_BOUNDS.
Added FFX_DENOISER_ENABLE_VALIDATION flag.
API breaking additions:
FfxApiDenoiserSignal::_reserved is removed.
ffxDispatchDescDenoiser::deltaTime is removed.
ffxQueryDescDenoiserGetVersion is removed:
Fuse mode API is removed:
FfxApiDenoiserMode is removed.ffxCreateContextDescDenoiser::mode is removed.ffxDispatchDescDenoiserInput1Signal (incl. Fused Albedo) is removed.ffxDispatchDescDenoiserInput2Signals is removed.ffxDispatchDescDenoiserInput4Signals is removed.ffxQueryDescDenoiserGetGPUMemoryUsage::mode is removed.Logging API is changed:
ffxCreateContextDescDenoiser::fpMessage is replaced with ffxConfigureDescGlobalDebug.Matrix API is added:
ffxDispatchDescDenoiser::cameraRight, ffxDispatchDescDenoiser::cameraUp, ffxDispatchDescDenoiser::cameraForward, ffxDispatchDescDenoiser::cameraAspectRatio, ffxDispatchDescDenoiser::cameraNear, ffxDispatchDescDenoiser::cameraFar, and ffxDispatchDescDenoiser::cameraFovAngleVertical are replaced with ffxDispatchDescDenoiser::view and ffxDispatchDescDenoiser::projection.ffxDispatchDescDenoiser::linearDepth now contains the signed linear depth instead of absolute linear depth.ffxDispatchDescDenoiser::motionVectors::z now contains the signed linear depth delta instead of absolute linear depth delta.ffxDispatchDescDenoiser::motionVectorScale::z now contains the signed linear depth delta scaling factor instead of absolute linear depth delta scaling factor.Passthrough API is added:
ffxDispatchDescDenoiser::linearDepthBounds is added.Reconstruction API is added:
FfxApiDenoiserSignal::checkerboardOrigin is added.ffxCreateContextDescDenoiser::checkerboardSignalFlags is added.ffxQueryDescDenoiserGetGPUMemoryUsage::checkerboardSignalFlags is added.Signal API is added:
FFX_DENOISER_ENABLE_DOMINANT_LIGHT is replaced with FFX_DENOISER_SIGNAL_DOMINANT_LIGHT_VISIBILITY.FfxApiDenoiserSignalFlags is added.ffxCreateContextDescDenoiser::signalFlags is added.ffxDispatchDescDenoiserAmbientOcclusion is added.ffxDispatchDescDenoiserDirectDiffuse is added.ffxDispatchDescDenoiserDirectSpecular is added.ffxDispatchDescDenoiserIndirectDiffuse is added.ffxDispatchDescDenoiserIndirectSpecular is added.ffxDispatchDescDenoiserInputDominantLight is replaced with ffxDispatchDescDenoiserDominantLight.ffxDispatchDescDenoiserSpecularOcclusion is added.ffxQueryDescDenoiserGetGPUMemoryUsage::signalFlags is added.