OSDN Git Service

intel: Fix aux map alignments on 32-bit builds.
authorKenneth Graunke <kenneth@whitecape.org>
Wed, 22 Jan 2020 00:46:24 +0000 (16:46 -0800)
committerDylan Baker <dylan@pnwbakers.com>
Tue, 28 Jan 2020 16:54:25 +0000 (08:54 -0800)
commit24f1072492540601fcb49ba52df2054183a4c233
tree6ebc64d0a1799611568db39163bd21175d819063
parent0c2ac0f455e8894496dabb21134a01b43db2c56d
intel: Fix aux map alignments on 32-bit builds.

ALIGN() brilliantly uses uintptr_t, making it unsafe for use with 64-bit
GPU addresses in 32-bit builds of the driver.  Use align64() instead,
which uses uint64_t.

Fixes assertion failures when running any 32-bit program on Tigerlake.

Fixes: 2e6a7ced4db ("iris/gen12: Write GFX_AUX_TABLE base address register")
Fixes: 0d0290bb3f7 ("intel/common: Add surface to aux map translation table support")
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3507>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3507>
(cherry picked from commit 8dc0540a171627cb502f76c75a29a43a86328a95)
.pick_status.json
src/gallium/drivers/iris/iris_state.c
src/intel/common/gen_aux_map.c