Henri Verbeet : wined3d: Handle unpack row length inside surface_upload_data().
Alexandre Julliard
julliard at winehq.org
Fri Jun 10 11:16:19 CDT 2011
Module: wine
Branch: master
Commit: 9f3e6a20e81546979e6a2fae41d15897ade9aa46
URL: http://source.winehq.org/git/wine.git/?a=commit;h=9f3e6a20e81546979e6a2fae41d15897ade9aa46
Author: Henri Verbeet <hverbeet at codeweavers.com>
Date: Thu Jun 9 20:40:47 2011 +0200
wined3d: Handle unpack row length inside surface_upload_data().
---
dlls/wined3d/surface.c | 16 ++++++----------
1 files changed, 6 insertions(+), 10 deletions(-)
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
index ad217fc..06f38b0 100644
--- a/dlls/wined3d/surface.c
+++ b/dlls/wined3d/surface.c
@@ -2199,6 +2199,9 @@ static void surface_upload_data(struct wined3d_surface *surface, const struct wi
data = NULL;
}
+ /* Make sure the correct pitch is used */
+ glPixelStorei(GL_UNPACK_ROW_LENGTH, width);
+
if (format->flags & WINED3DFMT_FLAG_COMPRESSED)
{
TRACE("Calling glCompressedTexSubImage2DARB.\n");
@@ -2216,6 +2219,9 @@ static void surface_upload_data(struct wined3d_surface *surface, const struct wi
checkGLcall("glTexSubImage2D");
}
+ /* Restore the default pitch */
+ glPixelStorei(GL_UNPACK_ROW_LENGTH, 0);
+
if (surface->flags & SFLAG_PBO)
{
GL_EXTCALL(glBindBufferARB(GL_PIXEL_UNPACK_BUFFER_ARB, 0));
@@ -6159,19 +6165,9 @@ HRESULT surface_load_location(struct wined3d_surface *surface, DWORD flag, const
mem = surface->resource.allocatedMemory;
}
- /* Make sure the correct pitch is used */
- ENTER_GL();
- glPixelStorei(GL_UNPACK_ROW_LENGTH, width);
- LEAVE_GL();
-
if (mem || (surface->flags & SFLAG_PBO))
surface_upload_data(surface, gl_info, &format, srgb, mem);
- /* Restore the default pitch */
- ENTER_GL();
- glPixelStorei(GL_UNPACK_ROW_LENGTH, 0);
- LEAVE_GL();
-
if (context) context_release(context);
/* Don't delete PBO memory */
More information about the wine-cvs
mailing list