Revert "radv: Optimize rebinding the same descriptor set."
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Mon, 17 Sep 2018 09:20:57 +0000 (11:20 +0200)
committerSamuel Pitoiset <samuel.pitoiset@gmail.com>
Mon, 17 Sep 2018 09:20:57 +0000 (11:20 +0200)
This introduces random GPU hangs on Vega, at least.

This reverts commit 02a43edf186cb9998741ba765cb948bb238a122d.

src/amd/vulkan/radv_cmd_buffer.c

index 2f16832119768f13a62b3743c6f88128a18ee313..d492456d6b88060660f3c1db6cc069dcd99b647c 100644 (file)
@@ -2464,13 +2464,7 @@ void radv_CmdBindDescriptorSets(
        for (unsigned i = 0; i < descriptorSetCount; ++i) {
                unsigned idx = i + firstSet;
                RADV_FROM_HANDLE(radv_descriptor_set, set, pDescriptorSets[i]);
-
-               /* If the set is already bound we only need to update the
-                * (potentially changed) dynamic offsets. */
-               if (descriptors_state->sets[idx] != set ||
-                   !(descriptors_state->valid & (1u << idx))) {
-                       radv_bind_descriptor_set(cmd_buffer, pipelineBindPoint, set, idx);
-               }
+               radv_bind_descriptor_set(cmd_buffer, pipelineBindPoint, set, idx);
 
                for(unsigned j = 0; j < set->layout->dynamic_offset_count; ++j, ++dyn_idx) {
                        unsigned idx = j + layout->set[i + firstSet].dynamic_offset_start;