diff options
author | Keith Whitwell <keith@tungstengraphics.com> | 2008-02-13 12:35:16 +0000 |
---|---|---|
committer | Keith Whitwell <keith@tungstengraphics.com> | 2008-02-13 12:36:32 +0000 |
commit | 8162d317d2f6f2dcc31f31c0c2d663c33dfee053 (patch) | |
tree | fca0447312e47867d8cea4d4e828b9bc58166352 /src/mesa/pipe/tgsi | |
parent | a3534a27bfc9827a12d83f7b6464af98424cf8d4 (diff) |
x86: emit absolute calls, as reallocating exec mem breaks relative ones
Diffstat (limited to 'src/mesa/pipe/tgsi')
-rwxr-xr-x | src/mesa/pipe/tgsi/exec/tgsi_sse2.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/mesa/pipe/tgsi/exec/tgsi_sse2.c b/src/mesa/pipe/tgsi/exec/tgsi_sse2.c index ecf4ca8d21..1e56e4afb6 100755 --- a/src/mesa/pipe/tgsi/exec/tgsi_sse2.c +++ b/src/mesa/pipe/tgsi/exec/tgsi_sse2.c @@ -328,8 +328,11 @@ emit_call( struct x86_function *func, void (* addr)() ) { + struct x86_reg ecx = x86_make_reg( file_REG32, reg_CX ); + DUMP_I( "CALL", addr ); - x86_call( func, addr ); + x86_mov_reg_imm( func, ecx, (unsigned long) addr ); + x86_call( func, ecx ); } static void |