[Mesa-dev] [PATCH] anv/pipeline_cache: fix incorrect guards for NIR cache
Iago Toral
itoral at igalia.com
Fri Jan 11 11:41:41 UTC 2019
On Fri, 2019-01-11 at 11:13 +0000, Lionel Landwerlin wrote:
> On 11/01/2019 10:50, Iago Toral Quiroga wrote:
> > Fixes: f6aa9f718516 'anv/pipeline_cache: Add support for caching
> > NIR'
> > ---
> > src/intel/vulkan/anv_pipeline_cache.c | 5 +++--
> > 1 file changed, 3 insertions(+), 2 deletions(-)
> >
> > Or maybe just check cache->cache instead, which I guess was the
> > original
> > intention, but I kind of prefer having all fields initialized.
>
>
> While looking at this patch, I noticed that we're not freeing
> nir_cache
> in anv_pipeline_cache_finish.
Right, I'll send a separate patch for that.
Iago
>
> This looks good :
>
>
> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
>
>
> >
> > diff --git a/src/intel/vulkan/anv_pipeline_cache.c
> > b/src/intel/vulkan/anv_pipeline_cache.c
> > index 18f310b06e..f9733c5309 100644
> > --- a/src/intel/vulkan/anv_pipeline_cache.c
> > +++ b/src/intel/vulkan/anv_pipeline_cache.c
> > @@ -239,6 +239,7 @@ anv_pipeline_cache_init(struct
> > anv_pipeline_cache *cache,
> > sha1_compare_fun
> > c);
> > } else {
> > cache->cache = NULL;
> > + cache->nir_cache = NULL;
> > }
> > }
> >
> > @@ -670,7 +671,7 @@ anv_device_search_for_nir(struct anv_device
> > *device,
> > unsigned char sha1_key[20],
> > void *mem_ctx)
> > {
> > - if (cache) {
> > + if (cache && cache->nir_cache) {
> > const struct serialized_nir *snir = NULL;
> >
> > pthread_mutex_lock(&cache->mutex);
> > @@ -702,7 +703,7 @@ anv_device_upload_nir(struct anv_device
> > *device,
> > const struct nir_shader *nir,
> > unsigned char sha1_key[20])
> > {
> > - if (cache) {
> > + if (cache && cache->nir_cache) {
> > pthread_mutex_lock(&cache->mutex);
> > struct hash_entry *entry =
> > _mesa_hash_table_search(cache->nir_cache, sha1_key);
>
>
>
More information about the mesa-dev
mailing list