We’re delighted to announce the latest version for one of the newer members of our FidelityFX family – FidelityFX SPD 2.0! This powerful shader provides an RDNA-optimized solution for generating up to 12 MIP levels of a texture.
FidelityFX SPD 2.0 includes:
-
Support for cube textures and array textures. The
SpdDownsample
function takes the slice index as a new parameter. The total number of slices is passed in with the z component of your dispatch size.
Example Radeon GPU Profiler (RGP) traces – downsampling of a cube texture 512×512 with 6 slices:
Traditional pixel shader approach: For each of the 6 slices there are 9 passes, one for each MIP.
SPD: A single dispatch call computing all 54 MIPs of the cube texture.
- Support for downsampling a sub-rectangle, in case only a known region of the source texture has been updated.
- CPU side helper function to compute constants:
-
- Dispatch size x and y.
- Thread group offsets in case only a sub-rectangle has modified data.
- Number of thread groups.
- Number of MIPs.
- Automatic reset of the global atomic counter after each SPD run: only one single initialization for the first run of SPD is required now.
Find out more about FidelityFX SPD:
AMD FidelityFX™ Single Pass Downsampler (SPD)
AMD FidelityFX Single Pass Downsampler (SPD) provides an AMD RDNA™ architecture optimized solution for generating up to 12 MIP levels of a texture.