From: Caio Oliveira Date: Wed, 22 Feb 2023 23:47:54 +0000 (-0800) Subject: iris, crocus: Align workaround address to 32B X-Git-Tag: upstream/23.3.3~12701 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a4a0417263aa98ee93fe3f635fcdc54daa091013;p=platform%2Fupstream%2Fmesa.git iris, crocus: Align workaround address to 32B The workaround address is used as a source for push constants when there's no resource available, that address must be 32B aligned. This fixes invalid address being used for buffers in 3DSTATE_CONSTANT_* packets. Now that intel_debug_write_identifiers() already add the padding, there's no need to include extra "+ 8" to the offset. Thanks to Xiaoming Wang that contributed to find and fix this issue. Fixes: 2a4c361b069 ("iris: add identifier BO") Reviewed-by: Kenneth Graunke Part-of: --- diff --git a/src/gallium/drivers/crocus/crocus_context.c b/src/gallium/drivers/crocus/crocus_context.c index 903be35..77ddb2e 100644 --- a/src/gallium/drivers/crocus/crocus_context.c +++ b/src/gallium/drivers/crocus/crocus_context.c @@ -61,7 +61,7 @@ crocus_init_identifier_bo(struct crocus_context *ice) ice->workaround_bo->kflags |= EXEC_OBJECT_CAPTURE; ice->workaround_offset = ALIGN( - intel_debug_write_identifiers(bo_map, 4096, "Crocus") + 8, 8); + intel_debug_write_identifiers(bo_map, 4096, "Crocus"), 32); crocus_bo_unmap(ice->workaround_bo); diff --git a/src/gallium/drivers/iris/iris_screen.c b/src/gallium/drivers/iris/iris_screen.c index ffb78f5..2d8dd55 100644 --- a/src/gallium/drivers/iris/iris_screen.c +++ b/src/gallium/drivers/iris/iris_screen.c @@ -768,7 +768,7 @@ iris_init_identifier_bo(struct iris_screen *screen) screen->workaround_address = (struct iris_address) { .bo = screen->workaround_bo, .offset = ALIGN( - intel_debug_write_identifiers(bo_map, 4096, "Iris") + 8, 8), + intel_debug_write_identifiers(bo_map, 4096, "Iris"), 32), }; iris_bo_unmap(screen->workaround_bo);