Mesa (master): translate_sse: try to fix Win64

Luca Barbieri lb at kemper.freedesktop.org
Thu Aug 19 08:09:18 UTC 2010


Module: Mesa
Branch: master
Commit: c54dea66fd86f6000e334c703ea4890179c39c81
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c54dea66fd86f6000e334c703ea4890179c39c81

Author: Luca Barbieri <luca at luca-barbieri.com>
Date:   Thu Aug 19 10:07:58 2010 +0200

translate_sse: try to fix Win64

Not sure whether it works now (it is still disabled).

---

 src/gallium/auxiliary/rtasm/rtasm_x86sse.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/src/gallium/auxiliary/rtasm/rtasm_x86sse.c b/src/gallium/auxiliary/rtasm/rtasm_x86sse.c
index 0fe6ebf..75b0f6a 100644
--- a/src/gallium/auxiliary/rtasm/rtasm_x86sse.c
+++ b/src/gallium/auxiliary/rtasm/rtasm_x86sse.c
@@ -2105,8 +2105,9 @@ struct x86_reg x86_fn_arg( struct x86_function *p,
       case 4:
          return x86_make_reg(file_REG32, reg_R9);
       default:
+	 /* Win64 allocates stack slots as if it pushed the first 4 arguments too */
          return x86_make_disp(x86_make_reg(file_REG32, reg_SP),
-               p->stack_offset + (arg - 4) * 8);     /* ??? */
+               p->stack_offset + arg * 8);
       }
    case X86_64_STD_ABI:
       switch(arg)




More information about the mesa-commit mailing list