mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-07 04:58:05 +02:00
i965: remove cache_aux_free_func array
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@collabora.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
parent
74fcc4c41f
commit
0325f68228
2 changed files with 5 additions and 12 deletions
|
|
@ -501,8 +501,6 @@ struct brw_cache_item {
|
|||
};
|
||||
|
||||
|
||||
typedef void (*cache_aux_free_func)(const void *aux);
|
||||
|
||||
struct brw_cache {
|
||||
struct brw_context *brw;
|
||||
|
||||
|
|
@ -512,9 +510,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];
|
||||
};
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue