Ping on these two trivial patches ? -Emil
On 7 October 2015 at 12:38, Emil Velikov <emil.l.veli...@gmail.com> wrote: > There is only one function that can be called, which is well known at > compilation time. > > The abstraction used here seems unnecessary, so let's use a direct call > to brw_stage_prog_data_free() when appropriate, cut down the size of > struct brw_cache. > > Signed-off-by: Emil Velikov <emil.veli...@collabora.com> > --- > src/mesa/drivers/dri/i965/brw_context.h | 5 ----- > src/mesa/drivers/dri/i965/brw_state_cache.c | 12 +++++------- > 2 files changed, 5 insertions(+), 12 deletions(-) > > diff --git a/src/mesa/drivers/dri/i965/brw_context.h > b/src/mesa/drivers/dri/i965/brw_context.h > index 0a29a69..82687bd 100644 > --- a/src/mesa/drivers/dri/i965/brw_context.h > +++ b/src/mesa/drivers/dri/i965/brw_context.h > @@ -854,8 +854,6 @@ struct brw_cache_item { > }; > > > -typedef void (*cache_aux_free_func)(const void *aux); > - > struct brw_cache { > struct brw_context *brw; > > @@ -865,9 +863,6 @@ struct brw_cache { > > uint32_t next_offset; > bool bo_used_by_gpu; > - > - /** Optional functions for freeing other pointers attached to a > prog_data. */ > - cache_aux_free_func aux_free[BRW_MAX_CACHE]; > }; > > > diff --git a/src/mesa/drivers/dri/i965/brw_state_cache.c > b/src/mesa/drivers/dri/i965/brw_state_cache.c > index 2fbcd14..7f07bef 100644 > --- a/src/mesa/drivers/dri/i965/brw_state_cache.c > +++ b/src/mesa/drivers/dri/i965/brw_state_cache.c > @@ -349,11 +349,6 @@ brw_init_caches(struct brw_context *brw) > 4096, 64); > if (brw->has_llc) > drm_intel_gem_bo_map_unsynchronized(cache->bo); > - > - cache->aux_free[BRW_CACHE_VS_PROG] = brw_stage_prog_data_free; > - cache->aux_free[BRW_CACHE_GS_PROG] = brw_stage_prog_data_free; > - cache->aux_free[BRW_CACHE_FS_PROG] = brw_stage_prog_data_free; > - cache->aux_free[BRW_CACHE_CS_PROG] = brw_stage_prog_data_free; > } > > static void > @@ -367,9 +362,12 @@ brw_clear_cache(struct brw_context *brw, struct > brw_cache *cache) > for (i = 0; i < cache->size; i++) { > for (c = cache->items[i]; c; c = next) { > next = c->next; > - if (cache->aux_free[c->cache_id]) { > + if (c->cache_id == BRW_CACHE_VS_PROG || > + c->cache_id == BRW_CACHE_GS_PROG || > + c->cache_id == BRW_CACHE_FS_PROG || > + c->cache_id == BRW_CACHE_CS_PROG) { > const void *item_aux = c->key + c->key_size; > - cache->aux_free[c->cache_id](item_aux); > + brw_stage_prog_data_free(item_aux); > } > free((void *)c->key); > free(c); > -- > 2.5.0 > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev