[Mesa-dev] [PATCH 1/2] i965: remove cache_aux_free_func array
Emil Velikov
emil.l.velikov at gmail.com
Mon Oct 19 06:54:56 PDT 2015
Ping on these two trivial patches ?
-Emil
On 7 October 2015 at 12:38, Emil Velikov <emil.l.velikov at 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.velikov at 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
>
More information about the mesa-dev
mailing list