Mesa (master): radv/winsys: set IB flags prior to submit in the sysmem path
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Mon Jan 27 11:30:36 UTC 2020
Module: Mesa
Branch: master
Commit: 951083768b351b0700bdcc02758670e505cce974
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=951083768b351b0700bdcc02758670e505cce974
Author: Florian Will <florian.will at gmail.com>
Date: Mon Jan 27 10:30:21 2020 +0100
radv/winsys: set IB flags prior to submit in the sysmem path
This fixes missing scene objects in ZUSI 3 + dxvk. Index / vertex buffer
upload using thousands of CopyBuffer commands in one huge Vulkan command
buffer, mixed with lots of render pass begin/end and draw calls, failed
for some of the buffers.
radv divides the huge command buffer into 3 IBs, and they had random
flags set because the field was uninitialized. Maybe IBs got discarded
if they had the PREAMBLE bit set.
Signed-off-by: Florian Will <florian.will at gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Cc: <mesa-stable at lists.freedesktop.org>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3577>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3577>
---
src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c b/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c
index 676dd062ff3..dbc7397ed93 100644
--- a/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c
+++ b/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c
@@ -1119,6 +1119,7 @@ static int radv_amdgpu_winsys_cs_submit_sysmem(struct radeon_winsys_ctx *_ctx,
ibs[j].size = size;
ibs[j].ib_mc_address = radv_buffer_get_va(bos[j]);
+ ibs[j].flags = 0;
}
cnt++;
@@ -1163,6 +1164,7 @@ static int radv_amdgpu_winsys_cs_submit_sysmem(struct radeon_winsys_ctx *_ctx,
ibs[0].size = size;
ibs[0].ib_mc_address = radv_buffer_get_va(bos[0]);
+ ibs[0].flags = 0;
}
r = radv_amdgpu_create_bo_list(cs0->ws, &cs_array[i], cnt,
More information about the mesa-commit
mailing list