Skip to main content
The Sampler Feedback feature is useful because it allows a title to measure the desired usage of textures during scene rendering. At any moment, given the scene geometry and camera angle, only a fraction of the texture data referenced in the scene will be fetched into the GPU. Sampler Feedback gives titles the tool to measure this fraction with a degree of accuracy and make decisions based on that data. Two usages of Sampler Feedback have been envisioned: tiled texture streaming and texture shading.

Tiled texture streaming

Direct3D Tiled Resources, also known as partially resident textures, has been a supported feature since GPUs that shipped in 2012. While the feature is conceptually simple (break the texture into 64 KB tiles and manage each tiles’ residency independently), in practice, the feature has been hard to use. When textures can be made resident tile-by-tile, the difficult question that must be answered is which tiles should be made resident and when. Sampler Feedback provides a way to answer that question. By measuring scene rendering’s use of textures, during scene rendering, with the actual geometry and shaders, an accurate estimate can be produced. After a feedback loop is generated by using Sampler Feedback data to drive tile streaming decisions, one more component is needed - a way to clamp scene rendering’s use of each texture to each texture’s currently resident set of tiles. In the traditional texture streaming model where entire mip levels are made resident or nonresident at once, the MinLOD parameter of the sampler state is sufficient to clamp access to a range of mip levels. But in the model where individual tiles on each mip level can be resident or nonresident, a per-region clamp is necessary that takes the sampled UV(W) coordinates as input. Starting with Direct3D 11, the “MIN reduction” filtering mode satisfied this role, but there’s room for improvement in how that filter operates, because it’s often too conservative. Sampler Feedback used with texture streaming is referred to as Sampler Feedback for Streaming (SFS).

Texture shading

Texture shading is defined as a partially resident (or partially rendered) procedural texture, used as a pipeline input, with subregions that are dynamically populated by the GPU in response to usage patterns derived from scene rendering. While texture streaming has a feedback loop duration measured in multiple frames (as tile requests go to storage for completion), texture shading envisions its feedback loop happening within a single frame, or between two adjacent frames. Usage is measured in one pass by using sampler feedback, necessary tiles are computed from the sampler feedback data, the necessary tiles are populated with a compute shader, and then the texture is used in a final pass.

See also

Sampler Feedback GPU hardware design Sampler Feedback overview (preview)
Last modified on August 4, 2026