HLSL Shader Model 5

This section contains overview material for the High-Level Shader Language, specifically the new features in shader model 5 introduced in Microsoft Direct3D 11.

In This Section


Dynamic Linking

Dynamic linking allows the runtime to make a decision at draw-time (rather than compile-time) about which code path to run. This reduces the shader proliferation problem caused by shaders with nearly identical input signatures.

Geometry Shader Features

New geometry shader features including: instancing, which provides a performance boost when the order of primitives in the stream doesn't matter, and multiple point output streams so a shader can output vertices on more than one stream.


The Direct3D 11 runtime supports three new stages that implement tessellation, which converts low-detail subdivision surfaces into higher-detail primitives on the GPU. Tessellation tiles (or breaks up) high-order surfaces into suitable structures for rendering. The three tessellation stages are hull-shader, tessellator, and domain-shader stages.


In addition, the reference section covers many new API elements for shader model 5 including: attributes, intrinsic functions, shader model 5 objects and methods, and system values.

Related topics

Programming Guide for HLSL