anv: Reduce the minimum number of relocations
authorJason Ekstrand <jason@jlekstrand.net>
Mon, 28 Oct 2019 16:17:06 +0000 (11:17 -0500)
committerJason Ekstrand <jason@jlekstrand.net>
Tue, 29 Oct 2019 20:27:52 +0000 (20:27 +0000)
The original value of 256 was under the assumption that you're a batch
buffer which is likely going to have a large number of relocations.
However, pipeline objects on Gen7 will have at most 6 relocations (one
per shader stage and one for the workaround BO) so this is a lot of
per-pipeline wasted space.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
src/intel/vulkan/anv_batch_chain.c

index 70c14d14f4984e8baf386e8f88997479e51a857b..c5362aaebc2bab6aea9b727760c378c3748f8fe2 100644 (file)
@@ -118,7 +118,7 @@ anv_reloc_list_grow(struct anv_reloc_list *list,
    if (list->num_relocs + num_additional_relocs <= list->array_length)
       return VK_SUCCESS;
 
-   size_t new_length = MAX2(256, list->array_length * 2);
+   size_t new_length = MAX2(16, list->array_length * 2);
    while (new_length < list->num_relocs + num_additional_relocs)
       new_length *= 2;