iris: Align last_seqnos to 64 bits.
authorRafael Antognolli <rafael.antognolli@intel.com>
Wed, 24 Jun 2020 18:52:55 +0000 (18:52 +0000)
committerRafael Antognolli <rafael.antognolli@intel.com>
Fri, 26 Jun 2020 05:11:08 +0000 (22:11 -0700)
last_seqnos is used in atomic operations. Specially on 32 bit platorms,
it tends to be slower if it's not aligned to 64 bits (see
cdc331c6f9f6b2ffc035018de4445dba9b67c1f7). This fixes a small regression
on Bioshock.

Fixes: aba3aed96e4 ("iris: fix export of GEM handles")
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5637>

src/gallium/drivers/iris/iris_bufmgr.h

index d1594ff3d623955263d2200d7f1df0bc6a640269..e69b5a55e3f1096fc24f3ef0e9c5319bcd5bcb0c 100644 (file)
@@ -203,8 +203,11 @@ struct iris_bo {
     *
     * Although this is a global field, use in multiple contexts should be
     * safe, see iris_emit_buffer_barrier_for() for details.
+    *
+    * Also align it to 64 bits. This will make atomic operations faster on 32
+    * bit platforms.
     */
-   uint64_t last_seqnos[NUM_IRIS_DOMAINS];
+   uint64_t last_seqnos[NUM_IRIS_DOMAINS] __attribute__ ((aligned (8)));
 
    /**
     * Boolean of whether the GPU is definitely not accessing the buffer.