Ответ: Странное.
Depth Buffer as Texture
For some rendering schemes (anything with "deferred") or some effects (SSAO, depth of field, volumetric fog, ...) having access to a depth buffer is needed. If native depth buffer can be read as a texture, this saves both memory and a rendering pass or extra output for MRTs.
Depending on hardware, this can be achieved via INTZ, RAWZ, DF16 or DF24 formats:
INTZ is for recent (DX10+) hardware. With recent drivers, all three major IHVs expose this. According to ATI [1], it also allows using stencil buffer while rendering. Also allows reading from depth texture while it's still being used for depth testing (but not depth writing). Looks like this applies to NV & Intel parts as well.
RAWZ is for GeForce 6 & 7 series only. Depth is specially encoded into four channels of returned value.
DF16 and DF24 is for ATI (DF16 for Intel as well) cards, including older cards that don't support INTZ. Unlike INTZ, this does not allow using depth buffer or using the surface for both sampling & depth testing at the same time.
Also useful when using depth textures:
Creating NULL color surface to keep D3D runtime happy and save on video memory.
RESZ allows resolving multisampled depth surfaces into non-multisampled depth textures (result will be sample zero for each pixel).
Caveats:
Using INTZ for both depth/stencil testing and sampling at the same time seems to have performance problems on ATI cards (checked Radeon HD 3xxx to 5xxx, Catalyst 9.10 to 10.5). A workaround is to render to INTZ depth/stencil first, then use RESZ to "blit" it into another surface. Then do sampling from one surface, and depth testing on another.
__________________
|