OSDN Git Service

radv: fix the dynamic buffer index in vkCmdBindDescriptorSets
authorFredrik Höglund <fredrik@kde.org>
Tue, 7 Mar 2017 00:53:20 +0000 (01:53 +0100)
committerEmil Velikov <emil.l.velikov@gmail.com>
Thu, 16 Mar 2017 01:34:00 +0000 (01:34 +0000)
This fixes the wrong dynamic buffer descriptors being updated when
firstSet > 0.

Cc: 17.0 <mesa-stable@lists.freedesktop.org>
Signed-off-by: Fredrik Höglund <fredrik@kde.org>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
(cherry picked from commit 0941d1a574f46c558b0037be81d9a57004f4290b)

src/amd/vulkan/radv_cmd_buffer.c

index e570bf7..294a4a6 100644 (file)
@@ -1552,7 +1552,7 @@ void radv_CmdBindDescriptorSets(
                radv_bind_descriptor_set(cmd_buffer, set, idx);
 
                for(unsigned j = 0; j < set->layout->dynamic_offset_count; ++j, ++dyn_idx) {
-                       unsigned idx = j + layout->set[i].dynamic_offset_start;
+                       unsigned idx = j + layout->set[i + firstSet].dynamic_offset_start;
                        uint32_t *dst = cmd_buffer->dynamic_buffers + idx * 4;
                        assert(dyn_idx < dynamicOffsetCount);