Stefan Dösinger : wined3d: Rework surface dirtification.

Alexandre Julliard julliard at wine.codeweavers.com
Wed Mar 7 07:16:43 CST 2007


Module: wine
Branch: master
Commit: c54a0fc2cf5c58bf2aa47a523aa7593dc71e333e
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=c54a0fc2cf5c58bf2aa47a523aa7593dc71e333e

Author: Stefan Dösinger <stefan at codeweavers.com>
Date:   Tue Mar  6 21:47:45 2007 +0100

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           |    5 --
 dlls/wined3d/device.c            |   11 ++++-
 dlls/wined3d/drawprim.c          |   40 ++++++++++++++-
 dlls/wined3d/surface.c           |   99 +++++++++++++++++++++-----------------
 dlls/wined3d/surface_gdi.c       |    1 -
 dlls/wined3d/swapchain.c         |   18 ++++---
 dlls/wined3d/utils.c             |    6 +-
 dlls/wined3d/wined3d_private.h   |   23 ++++-----
 include/wine/wined3d_interface.h |    2 -
 9 files changed, 124 insertions(+), 81 deletions(-)

Diff:   http://source.winehq.org/git/wine.git/?a=commitdiff;h=c54a0fc2cf5c58bf2aa47a523aa7593dc71e333e



More information about the wine-cvs mailing list