IDirect3DTexture9::AddDirtyRect method (d3d9.h)

Adds a dirty region to a texture resource.


HRESULT AddDirtyRect(
  [in] const RECT *pDirtyRect


[in] pDirtyRect

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.

Return value


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.


Target Platform Windows
Header d3d9.h (include D3D9.h)
Library D3D9.lib

See also