From c42a1dc2260c5e0094e129c71d3fdc415482fe46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20D=C3=B6singer?= Date: Thu, 19 Apr 2007 22:52:11 +0200 Subject: [PATCH] wined3d: The cursor texture doesn't have GL_APPLE_client_storage backing. --- dlls/wined3d/device.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c index 90c311e3aae..e878c4a5d04 100644 --- a/dlls/wined3d/device.c +++ b/dlls/wined3d/device.c @@ -5602,6 +5602,12 @@ static HRESULT WINAPI IWineD3DDeviceImpl_SetCursorProperties(IWineD3DDevice* i memcpy(&mem[width * bpp * i], &bits[rect.Pitch * i], width * bpp); IWineD3DSurface_UnlockRect(pCursorBitmap); ENTER_GL(); + + if(GL_SUPPORT(APPLE_CLIENT_STORAGE)) { + glPixelStorei(GL_UNPACK_CLIENT_STORAGE_APPLE, GL_FALSE); + checkGLcall("glPixelStorei(GL_UNPACK_CLIENT_STORAGE_APPLE, GL_FALSE)"); + } + /* Make sure that a proper texture unit is selected */ if (GL_SUPPORT(ARB_MULTITEXTURE)) { GL_EXTCALL(glActiveTextureARB(GL_TEXTURE0_ARB)); @@ -5617,6 +5623,12 @@ static HRESULT WINAPI IWineD3DDeviceImpl_SetCursorProperties(IWineD3DDevice* i glTexImage2D(GL_TEXTURE_2D, 0, intfmt, width, height, 0, format, type, mem); HeapFree(GetProcessHeap(), 0, mem); checkGLcall("glTexImage2D"); + + if(GL_SUPPORT(APPLE_CLIENT_STORAGE)) { + glPixelStorei(GL_UNPACK_CLIENT_STORAGE_APPLE, GL_TRUE); + checkGLcall("glPixelStorei(GL_UNPACK_CLIENT_STORAGE_APPLE, GL_TRUE)"); + } + LEAVE_GL(); } else