diff options
Diffstat (limited to 'src/mesa')
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_program_cache.c | 15 | ||||
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_state.h | 2 |
2 files changed, 17 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_program_cache.c b/src/mesa/drivers/dri/i965/brw_program_cache.c index 31f6f1acbf8..54865f8b1b9 100644 --- a/src/mesa/drivers/dri/i965/brw_program_cache.c +++ b/src/mesa/drivers/dri/i965/brw_program_cache.c @@ -78,6 +78,21 @@ struct brw_cache_item { struct brw_cache_item *next; }; +enum brw_cache_id +brw_stage_cache_id(gl_shader_stage stage) +{ + static const enum brw_cache_id stage_ids[] = { + BRW_CACHE_VS_PROG, + BRW_CACHE_TCS_PROG, + BRW_CACHE_TES_PROG, + BRW_CACHE_GS_PROG, + BRW_CACHE_FS_PROG, + BRW_CACHE_CS_PROG, + }; + assert((int)stage >= 0 && stage < ARRAY_SIZE(stage_ids)); + return stage_ids[stage]; +} + static unsigned get_program_string_id(enum brw_cache_id cache_id, const void *key) { diff --git a/src/mesa/drivers/dri/i965/brw_state.h b/src/mesa/drivers/dri/i965/brw_state.h index 1b4745ef753..445f5e0b510 100644 --- a/src/mesa/drivers/dri/i965/brw_state.h +++ b/src/mesa/drivers/dri/i965/brw_state.h @@ -180,6 +180,8 @@ void brw_destroy_caches( struct brw_context *brw ); void brw_print_program_cache(struct brw_context *brw); +enum brw_cache_id brw_stage_cache_id(gl_shader_stage stage); + /* intel_batchbuffer.c */ void brw_require_statebuffer_space(struct brw_context *brw, int size); void *brw_state_batch(struct brw_context *brw, |