So, we should really fix this. The two options are :
- Keep a different calling convention under linux (cdecl by default,
which requires saving esi by hand in the shader) and apply Victor's
patch which saves restores this register
- Use the same calling convention on all platforms, that is change
Stinner [EMAIL PROTECTED]
Cc: dri-devel@lists.sourceforge.net
Sent: Wednesday, April 2, 2008 12:18:33 PM
Subject: Re: Gallium: Fix for tgsi_emit_sse2()
So, we should really fix this. The two options are :
- Keep a different calling convention under linux (cdecl by default,
which requires saving
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
Victor Stinner wrote:
| Here is my first patch for Nouveau project: a fix for 3D software
| rendering using SSE2 instruction set.
|
| The problem is that Gallium doesn't save/restore used registers (eax,
| edx, ecx, esi in my case). So I added
Here is my first patch for Nouveau project: a fix for 3D software
rendering using SSE2 instruction set.
The problem is that Gallium doesn't save/restore used registers
(eax, edx, ecx, esi in my case). So I added push/pop in
tgsi_emit_sse2().
Doesn't the ABI say that those are scratch