From: Faith Ekstrand Date: Tue, 31 Jan 2023 02:11:58 +0000 (-0600) Subject: nvk: Fully populate QMDs before uploading X-Git-Tag: upstream/23.3.3~4232 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=42fb0646a16bce52212b93e8cfec48cfded7e72d;p=platform%2Fupstream%2Fmesa.git nvk: Fully populate QMDs before uploading Part-of: --- diff --git a/src/nouveau/vulkan/nvk_cmd_dispatch.c b/src/nouveau/vulkan/nvk_cmd_dispatch.c index 74dcd5c..1b7db5c 100644 --- a/src/nouveau/vulkan/nvk_cmd_dispatch.c +++ b/src/nouveau/vulkan/nvk_cmd_dispatch.c @@ -88,19 +88,24 @@ nvk_CmdDispatch(VkCommandBuffer commandBuffer, memcpy(root_table_map, &desc->root, sizeof(desc->root)); - uint32_t *qmd; + uint32_t qmd[128]; + memset(qmd, 0, sizeof(qmd)); + memcpy(qmd, pipeline->qmd_template, sizeof(pipeline->qmd_template)); + + gv100_compute_setup_launch_desc(qmd, groupCountX, groupCountY, groupCountZ); + + gp100_cp_launch_desc_set_cb(qmd, 0, root_table_size, root_table_addr); + gp100_cp_launch_desc_set_cb(qmd, 1, root_table_size, root_table_addr); + uint64_t qmd_addr; - result = nvk_cmd_buffer_upload_alloc(cmd, 512, &qmd_addr, (void **)&qmd); + void *qmd_map; + result = nvk_cmd_buffer_upload_alloc(cmd, sizeof(qmd), &qmd_addr,&qmd_map); if (unlikely(result != VK_SUCCESS)) { vk_command_buffer_set_error(&cmd->vk, result); return; } - memcpy(qmd, pipeline->qmd_template, 256); - gv100_compute_setup_launch_desc(qmd, groupCountX, groupCountY, groupCountZ); - - gp100_cp_launch_desc_set_cb(qmd, 0, root_table_size, root_table_addr); - gp100_cp_launch_desc_set_cb(qmd, 1, root_table_size, root_table_addr); + memcpy(qmd_map, qmd, sizeof(qmd)); struct nv_push *p = P_SPACE(cmd->push, 6);