Shader Model 4

Shader Model 4 is a superset of the capabilities in Shader Model 3, except that Shader Model 4 doesn't support the features in Shader Model 1. It has been designed using a common-shader core that gives a common set of features to all programmable shaders, which are only programmable using HLSL.

Feature Capability
Instruction Set HLSL functions
Register Set The register set is accessible through members in constant and texture buffers using HLSL semantics for things like component packing.
Vertex Shader Max No restriction
Pixel Shader Max No restriction
New Shader Profiles Added gs_4_0, ps_4_0, vs_4_0, gs_4_1*, ps_4_1*, gs_4_1*
New Effect-Framework Profile Added fx_4_0, fx_4_1*


* - gs_4_1, ps_4_1, vs_4_1 and fx_4_1 are supported on Direct3D 10.1 or higher.

Shader Model 4 supports a new pipeline stage—the geometry-shader stage—which can be used to create or modify existing geometry. It also includes two new object types: a stream-output object designed for streaming data out of the geometry stage, and a templated texture object that implements texture sampling functions.

Shader Model 4 supports packing rules that dictate how tightly data can be arranged when it is stored. These rules are described in Packing Rules for Constant Variables

The Shader Model 4 Assembly section describes the assembly instructions that the Shader Model 4 and Shader Model 4.1 support.

Shader Models vs Shader Profiles