Adds a dirty region to a texture resource.
- pDirtyRect [in]
Type: const RECT*
Pointer to a RECT structure, specifying the dirty region to add. Specifying NULL expands the dirty region to cover the entire texture.
If the method succeeds, the return value is D3D_OK. If the method fails, the return value can be D3DERR_INVALIDCALL.
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 IDirect3DTexture9::LockRect is called without D3DLOCK_NO_DIRTY_UPDATE or D3DLOCK_READONLY. The destination surface of IDirect3DDevice9::UpdateSurface is also marked dirty automatically.
Using D3DLOCK_NO_DIRTY_UPDATE and explicitly specifying dirty regions can be used to increase the efficiency of IDirect3DDevice9::UpdateTexture. Using this method, applications can optimize what subset of a resource is copied by specifying dirty regions on the resource. However, the dirty regions may be expanded to optimize alignment.