Mesa (master): os/os_memory_aligned.h: fix memory allocation alignment for 64 bits

Jose Fonseca jrfonseca at kemper.freedesktop.org
Thu Feb 4 18:08:00 UTC 2010


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

Author: José Fonseca <jfonseca at vmware.com>
Date:   Thu Feb  4 18:06:55 2010 +0000

os/os_memory_aligned.h: fix memory allocation alignment for 64 bits

Based on Andreia Gaita <shana at jitted.com>'s patch.

---

 src/gallium/auxiliary/os/os_memory.h         |    2 +-
 src/gallium/auxiliary/os/os_memory_aligned.h |    4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/gallium/auxiliary/os/os_memory.h b/src/gallium/auxiliary/os/os_memory.h
index 704aa07..556662d 100644
--- a/src/gallium/auxiliary/os/os_memory.h
+++ b/src/gallium/auxiliary/os/os_memory.h
@@ -58,7 +58,7 @@ void *
 os_realloc(void *ptr, size_t old_size, size_t new_size);
 
 void *
-os_malloc_aligned(size_t size, uint alignment);
+os_malloc_aligned(size_t size, size_t alignment);
 
 void
 os_free_aligned(void *ptr);
diff --git a/src/gallium/auxiliary/os/os_memory_aligned.h b/src/gallium/auxiliary/os/os_memory_aligned.h
index d4528f7..72c5cf6 100644
--- a/src/gallium/auxiliary/os/os_memory_aligned.h
+++ b/src/gallium/auxiliary/os/os_memory_aligned.h
@@ -43,7 +43,7 @@
  * Return memory on given byte alignment
  */
 static INLINE void *
-os_malloc_aligned(size_t size, uint alignment)
+os_malloc_aligned(size_t size, size_t alignment)
 {
    char *ptr, *buf;
 
@@ -51,7 +51,7 @@ os_malloc_aligned(size_t size, uint alignment)
    if (!ptr)
       return NULL;
 
-   buf = (char *)(((uintptr_t)ptr + sizeof(void *) + alignment - 1) & ~(alignment - 1));
+   buf = (char *)(((uintptr_t)ptr + sizeof(void *) + alignment - 1) & ~((uintptr_t)(alignment - 1)));
    *(char **)(buf - sizeof(void *)) = ptr;
 
    return buf;




More information about the mesa-commit mailing list