Module: wine Branch: master Commit: c54a0fc2cf5c58bf2aa47a523aa7593dc71e333e URL: http://source.winehq.org/git/wine.git/?a=commit;h=c54a0fc2cf5c58bf2aa47a523a...
Author: Stefan Dösinger stefan@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=c54a0fc2cf5c58bf2aa47a...