For performance reasons, dirty regions are only recorded for level zero of a texture. For sublevels, it is assumed that the corresponding (scaled) rectangle or box is also dirty. Dirty regions are automatically recorded when IDirect3DMobileTexture::LockRect is called without D3DMLOCK_NO_DIRTY_UPDATE or D3DMLOCK_READONLY (see D3DMLOCK Values). Also, the destination surface of a IDirect3DMobileDevice::CopyRects call is marked dirty.
Applications can optimize what subset of a resource is copied by specifying dirty regions on the resource.