Sorry about the last patch, I slipped up on my bitwise operators. This should be correct to my intentions at least!
(I forgot to hit reply all, agh, i should probably power off my computer now :P ) On 3/31/07, Chris Bandy <[EMAIL PROTECTED]> wrote:
Stefan Dösinger wrote: >> @@ -3194,6 +3193,7 @@ static HRESULT WINAPI >> > IWineD3DSurfaceImpl_PrivateSetup(IWineD3DSurface *iface) { > >> } else { >> /* No oversize, gl rect is the full texture size */ >> This->Flags &= ~SFLAG_OVERSIZE; >> + This->Flags &= SFLAG_NONPOW2; >> > > > This is not correct. This removes every flag except SFLAG_NONPOW2. If you want > to remove the SFLAG_NONPOW2 flag you have to invert the flag: > > This->Flags &= ~SFLAG_NONPOW2 > If you want to set the SFLAG_NONPOW2 flag... This->Flags |= SFLAG_NONPOW2
-- Nathan -- Nathan
From 72a209c869b2ec91af771df6907dbe0638a33c04 Mon Sep 17 00:00:00 2001 From: Nathan Williams <[EMAIL PROTECTED]> Date: Sat, 31 Mar 2007 19:39:35 +1000 Subject: OpenGL ddraw renderer pow2 fix --- dlls/wined3d/surface.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c index 8ac924b..5312eba 100644 --- a/dlls/wined3d/surface.c +++ b/dlls/wined3d/surface.c @@ -955,7 +955,6 @@ static void flush_to_framebuffer_drawpixels(IWineD3DSurfaceImpl *This) { case WINED3DFMT_P8: { - int height = This->glRect.bottom - This->glRect.top; type = GL_UNSIGNED_BYTE; fmt = GL_RGBA; @@ -969,7 +968,7 @@ static void flush_to_framebuffer_drawpixels(IWineD3DSurfaceImpl *This) { mem, pitch, pitch, - height, + This->currentDesc.Height, pitch * 4, CONVERT_PALETTED, This); @@ -3194,6 +3193,7 @@ static HRESULT WINAPI IWineD3DSurfaceImpl_PrivateSetup(IWineD3DSurface *iface) { } else { /* No oversize, gl rect is the full texture size */ This->Flags &= ~SFLAG_OVERSIZE; + This->Flags |= SFLAG_NONPOW2; This->glRect.left = 0; This->glRect.top = 0; This->glRect.right = This->pow2Width; -- 1.4.4.4