iris: Do SET_TILING at a single point rather than in two places.
authorKenneth Graunke <kenneth@whitecape.org>
Sun, 26 May 2019 20:34:28 +0000 (13:34 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Thu, 30 May 2019 02:41:08 +0000 (19:41 -0700)
commit06421e5be72a3893b48d9f0b98cd847803bbb167
treea830fffaf502620c9b115fb90d97c340bb5a6f62
parent43d835cb0f030f2ba8edc9c8dbe09038b6481e6a
iris: Do SET_TILING at a single point rather than in two places.

Both the from-cache and fresh-from-GEM cases were calling SET_TILING.
In the cached case, we would retry the allocation on failure, pitching
one BO from the cache each time.  This is silly, because the only time
it should fail is if the tiling or stride parameters are unacceptable,
which has nothing to do with the particular BO in question.  So there's
no point in retrying - we should simply fail the allocation.

This patch moves both calls to bo_set_tiling_internal() below the
cache/fresh split, so we have it at a single point in time instead
of two.

To preserve the ordering between SET_TILING and SET_DOMAIN, we move
that below as well.  (I am unsure if the order matters.)

Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
src/gallium/drivers/iris/iris_bufmgr.c