From 31b48fd0414a781a7ead75323877589311d8e4f8 Mon Sep 17 00:00:00 2001 From: Jianxun Zhang Date: Wed, 8 May 2024 13:01:42 -0700 Subject: [PATCH] iris: Workaround: Don't allocate compressed bo from cache (xe2) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit There should be some deeper causes to dig out. The bo-caching system shouldn't affect the compression by design. Fixes: dEQP-GLES3.functional.texture.filtering.3d.formats.rgb9_e5_linear dEQP-GLES3.functional.texture.filtering.3d.formats.rgb9_e5_linear_mipmap_linear The two cases can pass if we run them respectively. But once they are fed to glcts in a test case list file (test.list) to run together, the second test case hangs for a while and eventually fails, regardless which of them is the second. ./glcts --deqp-caselist-file=test.list Signed-off-by: Jianxun Zhang Reviewed-by: Tapani Pälli Reviewed-by: Nanley Chery Part-of: --- src/gallium/drivers/iris/iris_bufmgr.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/gallium/drivers/iris/iris_bufmgr.c b/src/gallium/drivers/iris/iris_bufmgr.c index 7d18320679c..0dde4b2e3d1 100644 --- a/src/gallium/drivers/iris/iris_bufmgr.c +++ b/src/gallium/drivers/iris/iris_bufmgr.c @@ -289,6 +289,12 @@ bucket_for_size(struct iris_bufmgr *bufmgr, uint64_t size, if (flags & BO_ALLOC_PROTECTED) return NULL; + /* TODO: Enable bo cache for compressed bos + * https://gitlab.freedesktop.org/mesa/mesa/-/issues/11362 + */ + if (bufmgr->devinfo.verx10 == 200 && (flags & BO_ALLOC_COMPRESSED)) + return NULL; + const struct intel_device_info *devinfo = &bufmgr->devinfo; struct iris_bucket_cache *cache = &bufmgr->bucket_cache[heap];