Re: [AD] DirectDraw - create_sub_bitmap() or save_bitmap() faulty ? |
[ Thread Index |
Date Index
| More lists.liballeg.org/allegro-developers Archives
]
> >EDI=00000000 looks suspicious. Could you try the attached patch? It only
> >pertains to fullscreen DirectX mode.
>
> Good - adding the pushal/popal fixes the bug.
Ok. Now pushal/popal is a big hammer so I'd like to refine the patch a bit.
Moreover, on second thought, %edi may not be the problem since it's a
call-saved register according to the x86 ABI.
> Do you need me to test the equivalent patch for other modes?
Could you try first the modified patch (after reverting the previous one)?
Thanks in advance.
--
Eric Botcazou
--- /home/eric/cvs/allegro/src/win/asmlock.s Sat Sep 7 21:53:42 2002
+++ allegro/src/win/asmlock.s Mon Apr 7 10:35:36 2003
@@ -38,8 +38,10 @@ FUNC (gfx_directx_write_bank)
pushl %ecx
pushl %eax
pushl %edx
+ pushl %edx /* argument */
call *GLOBL(ptr_gfx_directx_autolock)
popl %edx
+ popl %edx
popl %eax
popl %ecx
@@ -65,8 +67,10 @@ FUNC (gfx_directx_unwrite_bank)
pushl %ecx
pushl %eax
pushl %edx
+ pushl %edx /* argument */
call *GLOBL(ptr_gfx_directx_unlock)
popl %edx
+ popl %edx
popl %eax
popl %ecx