From b94d7dbe66fed2401083f4eaff286066e3bffa57 Mon Sep 17 00:00:00 2001 From: Paulo Zanoni Date: Thu, 12 Oct 2023 12:36:08 -0700 Subject: [PATCH] anv/sparse: join multiple NULL binds when possible When it's a NULL bind we always set the bo_offset (aka memory offset) to zero, so we have to avoid the "bind.offset == prev.offset + size" check. Reviewed-by: Lionel Landwerlin Signed-off-by: Paulo Zanoni Part-of: --- src/intel/vulkan/anv_sparse.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/intel/vulkan/anv_sparse.c b/src/intel/vulkan/anv_sparse.c index bcf7ddb8917..75606fa92f9 100644 --- a/src/intel/vulkan/anv_sparse.c +++ b/src/intel/vulkan/anv_sparse.c @@ -716,7 +716,8 @@ anv_sparse_bind_image_memory(struct anv_queue *queue, anv_bind.op == prev_bind->op && anv_bind.bo == prev_bind->bo && anv_bind.address == prev_bind->address + prev_bind->size && - anv_bind.bo_offset == prev_bind->bo_offset + prev_bind->size) { + (anv_bind.bo_offset == prev_bind->bo_offset + prev_bind->size || + anv_bind.bo == NULL)) { prev_bind->size += anv_bind.size; } else { binds[num_binds] = anv_bind;