aboutsummaryrefslogtreecommitdiffstats
path: root/src/amd/vulkan/winsys
diff options
context:
space:
mode:
authorFlorian Will <[email protected]>2020-01-27 10:30:21 +0100
committerFlorian Will <[email protected]>2020-01-27 11:53:22 +0100
commit951083768b351b0700bdcc02758670e505cce974 (patch)
tree6f8e50a22432a2f0bba45a6083cef85ff159c672 /src/amd/vulkan/winsys
parent90312de551dc3d4a14e9e4c084d99d5bdae6f599 (diff)
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 <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]> Cc: <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3577> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3577>
Diffstat (limited to 'src/amd/vulkan/winsys')
-rw-r--r--src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c2
1 files changed, 2 insertions, 0 deletions
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,