From a8d545602a5f4feabb57deeddb11621a12e6eeca Mon Sep 17 00:00:00 2001 From: Faith Ekstrand Date: Mon, 30 Jan 2023 20:11:51 -0600 Subject: [PATCH] nvk: Padd shader BOs by 4K to avoid I-cache overflow Part-of: --- src/nouveau/vulkan/nvk_shader.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/nouveau/vulkan/nvk_shader.c b/src/nouveau/vulkan/nvk_shader.c index a28dfa71091..d16cefc9a57 100644 --- a/src/nouveau/vulkan/nvk_shader.c +++ b/src/nouveau/vulkan/nvk_shader.c @@ -210,7 +210,10 @@ void nvk_shader_upload(struct nvk_physical_device *physical, struct nvk_shader *shader) { void *ptr; - shader->bo = nouveau_ws_bo_new(physical->dev, shader->code_size, 256, + /* TODO: The I-cache pre-fetches and we don't really know by how much. So + * throw on a bunch just to be sure. + */ + shader->bo = nouveau_ws_bo_new(physical->dev, shader->code_size + 4096, 256, NOUVEAU_WS_BO_LOCAL | NOUVEAU_WS_BO_MAP); ptr = nouveau_ws_bo_map(shader->bo, NOUVEAU_WS_BO_WR);