[PATCH 1/5] wined3d: Read the PBO back into the DIB section if we have one in surface_remove_pbo().
Henri Verbeet
hverbeet at codeweavers.com
Wed Dec 7 15:08:55 CST 2011
---
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
--
1.7.3.4
More information about the wine-patches
mailing list