iris: make sure to not mix compressed vs non-compressed

This commit implements the following requirement:

   "Keep any UMD-recycling of compression-enabled/disabled
    memory separate."

As additional info there are 2 related wa's for the issue:

   Wa_14018443005
   Wa_18038669374

Cc: mesa-stable
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34499>
(cherry picked from commit 6d70ec449ff3c6a3216a56c7e88fbbee3bda2291)
This commit is contained in:
Tapani Pälli
2025-04-14 09:47:25 +03:00
committed by Eric Engestrom
parent d0b2f4830d
commit 2f1fd84e4d
2 changed files with 7 additions and 1 deletions

View File

@@ -1894,7 +1894,7 @@
"description": "iris: make sure to not mix compressed vs non-compressed",
"nominated": true,
"nomination_type": 1,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": null,
"notes": null

View File

@@ -1036,6 +1036,12 @@ alloc_bo_from_cache(struct iris_bufmgr *bufmgr,
if (cur->real.capture != !!(flags & BO_ALLOC_CAPTURE))
continue;
/* Make sure we don't recycle compressed vs non-compressed. */
if ((iris_heap_is_compressed(flags_to_heap(bufmgr, flags))) !=
iris_heap_is_compressed(cur->real.heap)) {
continue;
}
/* If the last BO in the cache is busy, there are no idle BOs. Bail,
* either falling back to a non-matching memzone, or if that fails,
* allocating a fresh buffer.