From: Kenneth Graunke Date: Tue, 11 Apr 2017 06:55:21 +0000 (-0700) Subject: i965/drm: Make alignment parameter a uint64_t. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c85d6832fda15f59df786c5843e544ba0bb47b10;p=mesa.git i965/drm: Make alignment parameter a uint64_t. 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. Reviewed-by: Chris Wilson --- 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.