R-b On 31 Oct 2017 01:35, "Timothy Arceri" <tarc...@itsqueeze.com> wrote:
> Fixes regression in: > > dEQP-VK.api.object_management.alloc_callback_fail.graphics_pipeline > > Fixes: 1e84e53712ae "radv: add cache items to in memory cache when reading > from disk" > --- > src/amd/vulkan/radv_pipeline_cache.c | 15 ++++++++++++++- > 1 file changed, 14 insertions(+), 1 deletion(-) > > diff --git a/src/amd/vulkan/radv_pipeline_cache.c b/src/amd/vulkan/radv_ > pipeline_cache.c > index 91470d1419..2904b62e6b 100644 > --- a/src/amd/vulkan/radv_pipeline_cache.c > +++ b/src/amd/vulkan/radv_pipeline_cache.c > @@ -269,21 +269,34 @@ radv_create_shader_variants_from_pipeline_cache(struct > radv_device *device, > uint8_t disk_sha1[20]; > disk_cache_compute_key(device- > >physical_device->disk_cache, > sha1, 20, disk_sha1); > entry = (struct cache_entry *) > disk_cache_get(device-> > physical_device->disk_cache, > disk_sha1, NULL); > if (!entry) { > pthread_mutex_unlock(&cache->mutex); > return false; > } else { > - radv_pipeline_cache_add_entry(cache, entry); > + size_t size = entry_size(entry); > + struct cache_entry *new_entry = > vk_alloc(&cache->alloc, size, 8, > + > VK_SYSTEM_ALLOCATION_SCOPE_CACHE); > + if (!new_entry) { > + free(entry); > + pthread_mutex_unlock(&cache->mutex); > + return false; > + } > + > + memcpy(new_entry, entry, entry_size(entry)); > + free(entry); > + entry = new_entry; > + > + radv_pipeline_cache_add_entry(cache, new_entry); > } > } > > char *p = entry->code; > for(int i = 0; i < MESA_SHADER_STAGES; ++i) { > if (!entry->variants[i] && entry->code_sizes[i]) { > struct radv_shader_variant *variant; > struct cache_entry_variant_info info; > > variant = calloc(1, sizeof(struct > radv_shader_variant)); > -- > 2.14.3 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev >
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev