Mesa (staging/19.0): radv: clear vertex bindings while resetting command buffer

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri May 17 22:32:07 UTC 2019


Module: Mesa
Branch: staging/19.0
Commit: 5cac14f77a00ae735af0f5217467d1e362d88544
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5cac14f77a00ae735af0f5217467d1e362d88544

Author: Józef Kucia <joseph.kucia at gmail.com>
Date:   Fri May 10 21:38:22 2019 +0200

radv: clear vertex bindings while resetting command buffer

Only vertex inputs accessed by vertex shader must have valid buffers
bound.

Signed-off-by: Józef Kucia <joseph.kucia at gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Fixes: 5010436e09f "radv: bail out when binding the same vertex buffers"
(cherry picked from commit 24af0f1318967e20a8c5d7f3559389c341a0a11c)

---

 src/amd/vulkan/radv_cmd_buffer.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c
index 1dfdbf3b0c6..1271c3e73f2 100644
--- a/src/amd/vulkan/radv_cmd_buffer.c
+++ b/src/amd/vulkan/radv_cmd_buffer.c
@@ -301,7 +301,6 @@ radv_cmd_buffer_destroy(struct radv_cmd_buffer *cmd_buffer)
 static VkResult
 radv_reset_cmd_buffer(struct radv_cmd_buffer *cmd_buffer)
 {
-
 	cmd_buffer->device->ws->cs_reset(cmd_buffer->cs);
 
 	list_for_each_entry_safe(struct radv_cmd_buffer_upload, up,
@@ -326,6 +325,8 @@ radv_reset_cmd_buffer(struct radv_cmd_buffer *cmd_buffer)
 
 	cmd_buffer->record_result = VK_SUCCESS;
 
+	memset(cmd_buffer->vertex_bindings, 0, sizeof(cmd_buffer->vertex_bindings));
+
 	for (unsigned i = 0; i < VK_PIPELINE_BIND_POINT_RANGE_SIZE; i++) {
 		cmd_buffer->descriptors[i].dirty = 0;
 		cmd_buffer->descriptors[i].valid = 0;




More information about the mesa-commit mailing list