Multiple render targets (MRT)
Lets a fragment shader write to several render targets at once in a single pass, each with its own contents.
Normally a shader writes to one colour buffer. With MRT you bind several, and the shader writes different data to each — SV_Target0, SV_Target1 and so on. MRT is what made deferred shading practical: one geometry pass fills the G-buffer with albedo, normals, depth and material parameters in separate buffers, after which lighting is computed once in screen space.
The hardware arrived with DirectX 9 SM2.0 and OpenGL around 2004. The constraints are that all targets must share resolution and sample count, and that bandwidth climbs with every extra buffer — a fat G-buffer can easily be what saturates the memory bus.