diff options
author | Samuel Pitoiset <[email protected]> | 2018-04-19 13:48:33 +0200 |
---|---|---|
committer | Samuel Pitoiset <[email protected]> | 2018-04-20 16:18:18 +0200 |
commit | 5c1233ed620754c1691ffc6fc68d3f58f29a8d03 (patch) | |
tree | 2ae9a4c7f5f44a17f62698523a45ddb6d5d8b981 /src/amd/vulkan/radv_cmd_buffer.c | |
parent | 7bd5367546971f65c8210c0b44b8f21c0b8811c4 (diff) |
radv: use a global BO list only for VK_EXT_descriptor_indexing
Maintaining two different paths is annoying but this gets
rid of the performance regression introduced by the global
BO list.
We might find a better solution in the future, but for now
just keeps two paths.
Signed-off-by: Samuel Pitoiset <[email protected]>
Reviewed-by: Bas Nieuwenhuizen <[email protected]>
Diffstat (limited to 'src/amd/vulkan/radv_cmd_buffer.c')
-rw-r--r-- | src/amd/vulkan/radv_cmd_buffer.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c index b06429abd76..baab8db6170 100644 --- a/src/amd/vulkan/radv_cmd_buffer.c +++ b/src/amd/vulkan/radv_cmd_buffer.c @@ -2206,9 +2206,11 @@ radv_bind_descriptor_set(struct radv_cmd_buffer *cmd_buffer, assert(!(set->layout->flags & VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR)); - for (unsigned j = 0; j < set->layout->buffer_count; ++j) - if (set->descriptors[j]) - radv_cs_add_buffer(ws, cmd_buffer->cs, set->descriptors[j], 7); + if (!cmd_buffer->device->use_global_bo_list) { + for (unsigned j = 0; j < set->layout->buffer_count; ++j) + if (set->descriptors[j]) + radv_cs_add_buffer(ws, cmd_buffer->cs, set->descriptors[j], 7); + } if(set->bo) radv_cs_add_buffer(ws, cmd_buffer->cs, set->bo, 8); |