wined3d: Handle unpack row length inside surface_upload_data().
This commit is contained in:
parent
ee6d550b2e
commit
9f3e6a20e8
|
@ -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 */
|
||||
|
|
Loading…
Reference in New Issue