anv/image: Use align_u64 for image offsets

The ALIGN functions in util/u_math.h work on uintptr_t whose size
changes depending on your platform.  Use ones which take an explicit
64-bit type instead to avoid 32-bit platform issues.

Cc: mesa-stable@lists.freedesktop.org
Reported-by: Mark Janes <mark.a.janes@intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4414>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4414>
This commit is contained in:
Jason Ekstrand 2020-04-01 17:24:10 -05:00 committed by Marge Bot
parent 4e3a7dcf6e
commit 5cc27d59a1

View file

@ -328,8 +328,8 @@ add_aux_state_tracking_buffer(struct anv_image *image,
* a 4K alignment. We believe that 256B might be enough, but due to lack of
* testing we will leave this as 4K for now.
*/
image->planes[plane].size = ALIGN(image->planes[plane].size, 4096);
image->size = ALIGN(image->size, 4096);
image->planes[plane].size = align_u64(image->planes[plane].size, 4096);
image->size = align_u64(image->size, 4096);
assert(image->planes[plane].offset % 4096 == 0);