From 73ce3143a810d79e9bf0df8926ae58e9aad13bf1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Roberto=20de=20Souza?= Date: Thu, 20 Jun 2024 14:52:47 -0700 Subject: [PATCH] anv: Fix assert in xe_gem_create() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In this assert we want to enforce that if a cached buffer is created it is a cached+coherent as Xe KMD don't support cached+incoherent. Did not caught this issue because it only reproduces in platforms with GPU outside of LLC. Fixes: 9d8d5cf8c9a0 ("anv: Remove block promoting non CPU mapped bos to coherent") Reviewed-by: Kenneth Graunke Signed-off-by: José Roberto de Souza Part-of: --- src/intel/vulkan/xe/anv_kmd_backend.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/intel/vulkan/xe/anv_kmd_backend.c b/src/intel/vulkan/xe/anv_kmd_backend.c index 7975ec8f708..edbd2f53390 100644 --- a/src/intel/vulkan/xe/anv_kmd_backend.c +++ b/src/intel/vulkan/xe/anv_kmd_backend.c @@ -42,7 +42,8 @@ xe_gem_create(struct anv_device *device, /* TODO: protected content */ assert((alloc_flags & ANV_BO_ALLOC_PROTECTED) == 0); /* WB+0 way coherent not supported by Xe KMD */ - assert(alloc_flags & ANV_BO_ALLOC_HOST_COHERENT); + assert((alloc_flags & ANV_BO_ALLOC_HOST_CACHED) == 0 || + (alloc_flags & ANV_BO_ALLOC_HOST_CACHED_COHERENT) == ANV_BO_ALLOC_HOST_CACHED_COHERENT); uint32_t flags = 0; if (alloc_flags & ANV_BO_ALLOC_SCANOUT)