Welcome to AMD’s Radeon™ Software Developer’s Kit (SDK) page. The samples below are intended to provide developers with the inside scoop on getting the most out of AMD’s latest products using Microsoft® DirectX® for 3D graphics. Descriptions of each sample can be found below, as well as helpful documentation about optimization, hardware features and more. Download all current samples from the download table below. For older Radeon™ SDK samples, utilities and documentation, please visit the Archive SDK page.
Prerequesites for building all SDK samples –
1) A PC with at least 4 GB of memory and an AMD graphics card with installed drivers; 2) A 64-bit Windows 7, Windows 8, or Windows 8.1 operating system; 3) The Windows 8 or Windows 8.1 Software Development Kit must be installed.
The TressFX11 sample shows how to use AMD’s TressFX hair rendering technology for rendering and simulating hair. TressFX uses volumetric self shadowing, transparency, and antialiasing to render individual strands of realistic looking hair. It also uses the GPU to accelerate the physics simulation of each hair. Version 2.2 changes: simulation performance improvements, binary format for faster loading, ability to render multiple hair models in the same frame, added “warp” feature to simulation, new model (Ruby). (August 2014) Go to download table.
This sample provides an example implementation of two tile-based light culling methods: Forward+ and Tiled Deferred. Both methods support high numbers of dynamic lights while maintaining performance. They use DirectCompute to divide the screen into tiles and quickly cull lights against those tiles. In addition to standard point and spot lights, this sample supports shadow-casting lights. It also extends tiled light culling to work with alpha-blended geometry. Finally, virtual point lights (VPLs) can be spawned to approximate one-bounce global illumination, as seen in AMD’s Leo Demo. Version 1.1 includes updated documentation. Catalyst drivers 13.9 or later include a profile for this SDK sample to ensure MSAA performance is optimal. (August 2014) Go to download table.
The DepthBoundsTest11 sample shows how to use the AMD Depth Bounds Test extension, a feature of the AMD GCN architecture, to limit rendering within a specified depth bounds. By limiting what pixels are rendered, some graphics techniques can run faster because fewer pixels need to be rendered, and therefore fewer instructions executed by pixel shaders. (August 2014) Go to download table.
SuperSample Anti-Aliasing11 v1.1
This sample demonstrates some of the ways in which to reduce aliasing without using a post process technique. Methods include antialiasing (MSAA), supersample antialiasing (SSAA) and enhanced quality antialiasing (EQAA). (August 2014) Go to download table.
The ForwardPlus11 v1.1 sample provides an example implementation of the Forward+ algorithm, which extends traditional forward rendering to support high numbers of dynamic lights while maintaining performance. It utilizes a Direct3D 11 compute shader (DirectCompute 5.0) to divide the screen into tiles and quickly cull lights against those tiles, resulting in per-tile light lists for the forward pixel shader. (August 2014) Go to download table.
Morphological Anti-Aliasing11 v2.1
This sample demonstrates a post-process pixel shader technique that applies Fullscreen Anti-Aliasing to an image. Morphological Antialiasing (MLAA) was originally developed by Intel Lab but was designed for a CPU based post-process. This sample demonstrates a modified MLAA implementation adapted to run on the GPU. This update includes a further optimization which uses the stencil buffer to mask edges, and therefore reduce the workload for second stage of the effect. (August 2014) Go to download table.
This sample, presents a technique for achieving highly optimized user defined separable filters. It utilizes Direct3D 11 APIs and hardware to make use of DirectCompute11 to greatly accelerate this common post processing technique. Included in the sample are implementations for the classic Gaussian filter, and also a fairly simple bilateral filter, but the shader and source code have been setup to allow the user to add their own different filters, with the minimum of fuss.The application implements both a Compute Shader and Pixel Shader path, so that the performance gains achieved through using DirectCompute11can be measured. (August 2014) Go to download table.
This SDK sample shows how to perform view-dependent and adaptive tessellation in two well-known techniques: PN (Point-Normal) Triangles and Phong tessellation. The techniques included in this sample ensures that tessellation is done efficiently by only tessellating where and when required. (August 2014) Go to download table.
This sample demonstrates how to implement a simple GPU-based particle system. It also shows how to perform depth buffer collisions as well as sorting the particles on the GPU for correct blending of rasterized billboards. The sample also shows an alternative technique to rasterization that leverages DirectCompute to render the particles in tiles in a compute shader. (August 2014) Go to download table.
This document lists all GCN (“Graphics Core Next”) performance tweets that were released on Twitter during the first few months of 2013. Each performance tweet in this document is accompanied by additional details to complete the information provided on Twitter. (May 2013)
Enhanced Quality Anti-Aliasing (EQAA) is a new anti-aliasing technology available from the AMD HD 6900 series of graphics cards onwards. This new Anti-Aliasing (AA) technology offers advanced smoothing of aliased edges without requiring additional video memory, and with a minimal performance cost. This document explains how to implement EQAA support in graphic applications. (September 2011)
While this document details the EQAA modes first made available on AMD 6900 Series it is also applicable on all AMD GPUs released since.
This white paper gives implementation details on some of the advanced capabilities exposed by Radeon graphic drivers under the DirectX 9 API. Those capabilities target a feature level not directly exposed by DirectX 9, and therefore require an additional programming interface to take advantage of them. (July 2009)
This paper discusses general optimization hints and best practices for programming the latest ATI Radeon HD 2000 series hardware. It covers topics such as shaders, texturing, z optimizations, D3D10 optimizations etc. (June 2007)
Note that most practices mentioned in this document also apply to AMD GPUs recently released.
This paper goes through the Z optimizations in current and earlier hardware. It explains the technical details behind techniques such as Hierarchical-Z and Early-Z and discusses the how to best utilizing these hardware optimizations. (June 2007)
Note that a good amount of information mentioned in this document also apply to AMD GPUs recently released.
This white paper discusses the performance and quality implications of using MSAA Resolves in the rendering pipeline. Many MSAA Resolves are either redundant or harmful to image quality, and this paper highlights the common pitfalls and presents the recommend course of action to get it right. (Aug 2008)
All recommendations in this document also apply to AMD GPUs recently released.