gallium: fix alignment parameter passed to u_mmAllocMem()
authorBrian Paul <brian.paul@tungstengraphics.com>
Wed, 29 Oct 2008 20:28:57 +0000 (14:28 -0600)
committerBrian Paul <brian.paul@tungstengraphics.com>
Wed, 29 Oct 2008 20:52:35 +0000 (14:52 -0600)
Was 32, now 5.  The param is expressed as a power of two exponent.
The net effect is that the alignment was a no-op on X86 but on PPC we
always got the same memory address everytime rtasm_exec_malloc() was called.

src/gallium/auxiliary/rtasm/rtasm_execmem.c

index df353633e8dbaf574fbf175419b22b417eeba8f4..be7433baf87c6a96ca87eaceca45ab00e571ab9b 100644 (file)
@@ -83,8 +83,8 @@ rtasm_exec_malloc(size_t size)
    init_heap();
 
    if (exec_heap) {
-      size = (size + 31) & ~31;
-      block = u_mmAllocMem( exec_heap, size, 32, 0 );
+      size = (size + 31) & ~31;  /* next multiple of 32 bytes */
+      block = u_mmAllocMem( exec_heap, size, 5, 0 ); /* 5 -> 32-byte alignment */
    }
 
    if (block)