[Mesa-dev] [PATCH 4/8] i965/drm: Make alignment parameter a uint64_t.

Kenneth Graunke kenneth at whitecape.org
Tue Apr 11 16:02:47 UTC 2017


Theoretically, with a 48-bit address space, we could have buffers
with an alignment of >= 4GB.  It's a bit silly, but the exec_object
structs (drm_i915_gem_exec_object2) use a __u64 for this, so we may
as well use the same type as the kernel API.
---
 src/mesa/drivers/dri/i965/brw_bufmgr.c | 4 ++--
 src/mesa/drivers/dri/i965/brw_bufmgr.h | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_bufmgr.c b/src/mesa/drivers/dri/i965/brw_bufmgr.c
index 3dcd10b21f3..40429d8e415 100644
--- a/src/mesa/drivers/dri/i965/brw_bufmgr.c
+++ b/src/mesa/drivers/dri/i965/brw_bufmgr.c
@@ -247,7 +247,7 @@ bo_alloc_internal(struct brw_bufmgr *bufmgr,
                   unsigned long size,
                   unsigned long flags,
                   uint32_t tiling_mode,
-                  uint32_t stride, unsigned int alignment)
+                  uint32_t stride, uint64_t alignment)
 {
    struct brw_bo *bo;
    unsigned int page_size = getpagesize();
@@ -369,7 +369,7 @@ err:
 
 struct brw_bo *
 brw_bo_alloc(struct brw_bufmgr *bufmgr,
-             const char *name, unsigned long size, unsigned int alignment)
+             const char *name, unsigned long size, uint64_t alignment)
 {
    return bo_alloc_internal(bufmgr, name, size, 0, I915_TILING_NONE, 0, 0);
 }
diff --git a/src/mesa/drivers/dri/i965/brw_bufmgr.h b/src/mesa/drivers/dri/i965/brw_bufmgr.h
index 93a929d20e3..764ffeedd02 100644
--- a/src/mesa/drivers/dri/i965/brw_bufmgr.h
+++ b/src/mesa/drivers/dri/i965/brw_bufmgr.h
@@ -60,7 +60,7 @@ struct brw_bo {
     *
     * Used for GTT mapping & pinning the object.
     */
-   unsigned long align;
+   uint64_t align;
 
    /**
     * Virtual address for accessing the buffer data.  Only valid while
@@ -140,7 +140,7 @@ struct brw_bo {
  * using bo_map() or brw_bo_map_gtt() to be used by the CPU.
  */
 struct brw_bo *brw_bo_alloc(struct brw_bufmgr *bufmgr, const char *name,
-                            unsigned long size, unsigned int alignment);
+                            unsigned long size, uint64_t alignment);
 
 /**
  * Allocate a tiled buffer object.
-- 
2.12.1



More information about the mesa-dev mailing list