From 9009100486a2b707fdf4b95d9ecfd0cbf4172ce0 Mon Sep 17 00:00:00 2001 From: Faith Ekstrand Date: Mon, 27 Mar 2023 16:32:41 -0500 Subject: [PATCH] nvk: Use the new load/store_scratch helpers for DRAW_PAD_DW Part-of: --- src/nouveau/vulkan/nvk_cmd_draw.c | 14 ++++---------- src/nouveau/vulkan/nvk_mme.h | 1 + 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/src/nouveau/vulkan/nvk_cmd_draw.c b/src/nouveau/vulkan/nvk_cmd_draw.c index 5354649e8a3..2b6a7264116 100644 --- a/src/nouveau/vulkan/nvk_cmd_draw.c +++ b/src/nouveau/vulkan/nvk_cmd_draw.c @@ -1803,10 +1803,7 @@ nvk_mme_draw_indirect(struct mme_builder *b) } } else { struct mme_value draw_count = mme_load(b); - struct mme_value pad_dw = mme_load(b); - - nvk_mme_spill(b, 0, pad_dw); - mme_free_reg(b, pad_dw); + nvk_mme_load_to_scratch(b, DRAW_PAD_DW); struct mme_value draw = mme_mov(b, mme_zero()); mme_while(b, ine, draw, draw_count) { @@ -1816,7 +1813,7 @@ nvk_mme_draw_indirect(struct mme_builder *b) nvk_mme_build_draw(b, draw); mme_add_to(b, draw, draw, mme_imm(1)); - pad_dw = nvk_mme_fill(b, 0); + struct mme_value pad_dw = nvk_mme_load_scratch(b, DRAW_PAD_DW); mme_loop(b, pad_dw) { mme_free_reg(b, mme_load(b)); } @@ -1924,10 +1921,7 @@ nvk_mme_draw_indexed_indirect(struct mme_builder *b) } } else { struct mme_value draw_count = mme_load(b); - struct mme_value pad_dw = mme_load(b); - - nvk_mme_spill(b, 0, pad_dw); - mme_free_reg(b, pad_dw); + nvk_mme_load_to_scratch(b, DRAW_PAD_DW); struct mme_value draw = mme_mov(b, mme_zero()); mme_while(b, ine, draw, draw_count) { @@ -1937,7 +1931,7 @@ nvk_mme_draw_indexed_indirect(struct mme_builder *b) nvk_mme_build_draw_indexed(b, draw); mme_add_to(b, draw, draw, mme_imm(1)); - pad_dw = nvk_mme_fill(b, 0); + struct mme_value pad_dw = nvk_mme_load_scratch(b, DRAW_PAD_DW); mme_loop(b, pad_dw) { mme_free_reg(b, mme_load(b)); } diff --git a/src/nouveau/vulkan/nvk_mme.h b/src/nouveau/vulkan/nvk_mme.h index c4593ed0654..1c27d91fc8e 100644 --- a/src/nouveau/vulkan/nvk_mme.h +++ b/src/nouveau/vulkan/nvk_mme.h @@ -28,6 +28,7 @@ enum nvk_mme_scratch { NVK_MME_SCRATCH_CS_INVOCATIONS_HI = 0, NVK_MME_SCRATCH_CS_INVOCATIONS_LO, NVK_MME_SCRATCH_DRAW_BEGIN, + NVK_MME_SCRATCH_DRAW_PAD_DW, /* Must be at the end */ NVK_MME_NUM_SCRATCH,