Module: wine Branch: master Commit: 56e3e05e573f8952f2da1d3db3325ec5b29d22fb URL: http://source.winehq.org/git/wine.git/?a=commit;h=56e3e05e573f8952f2da1d3db3...
Author: Henri Verbeet hverbeet@codeweavers.com Date: Wed Dec 7 22:08:55 2011 +0100
wined3d: Read the PBO back into the DIB section if we have one in surface_remove_pbo().
---
dlls/wined3d/surface.c | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c index c49c0fb..e7ae65b 100644 --- a/dlls/wined3d/surface.c +++ b/dlls/wined3d/surface.c @@ -1767,7 +1767,11 @@ HRESULT CDECL wined3d_surface_get_render_target_data(struct wined3d_surface *sur /* Context activation is done by the caller. */ static void surface_remove_pbo(struct wined3d_surface *surface, const struct wined3d_gl_info *gl_info) { - if (!surface->resource.heapMemory) + if (surface->flags & SFLAG_DIBSECTION) + { + surface->resource.allocatedMemory = surface->dib.bitmap_data; + } + else if (!surface->resource.heapMemory) { surface->resource.heapMemory = HeapAlloc(GetProcessHeap(), 0, surface->resource.size + RESOURCE_ALIGNMENT); surface->resource.allocatedMemory = (BYTE *)(((ULONG_PTR)surface->resource.heapMemory