wined3d: Rework surface dirtification.
authorStefan Dösinger <stefan@codeweavers.com>
Tue, 6 Mar 2007 20:47:45 +0000 (21:47 +0100)
committerAlexandre Julliard <julliard@winehq.org>
Wed, 7 Mar 2007 11:18:14 +0000 (12:18 +0100)
commitc54a0fc2cf5c58bf2aa47a523aa7593dc71e333e
treeca3d219802d04c4477f2c7d6392afdc0cb9e9578
parentebe274feed73a74c5d9c34db96ac0244c698f89d
wined3d: Rework surface dirtification.

Previously the surfaces stored a flag if the system memory copy was
ahead of the gl copy(SFLAG_DIRTY) or the gl copy is
ahead(SFLAG_GLDIRTY). The pbuffer copy was 'managed' differently using
SFLAG_INPBUFFER and SFLAG_INTEXTURE.

This patch replaces them with 3 flags, INSYSMEM, INPBUFFER and
INTEXTURE which specify which copy contains the most up to date
copy. It is perfectly valid to have more than one of those flags
set. One must be set at least (except at init, when no content is in
the surface yet). When one copy is modified, the flags for the others
are removed.
dlls/wined3d/context.c
dlls/wined3d/device.c
dlls/wined3d/drawprim.c
dlls/wined3d/surface.c
dlls/wined3d/surface_gdi.c
dlls/wined3d/swapchain.c
dlls/wined3d/utils.c
dlls/wined3d/wined3d_private.h
include/wine/wined3d_interface.h