Module: Mesa Branch: master Commit: 40697e8678f5cc1a64ff2fbc7456e81e5147b7a2 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=40697e8678f5cc1a64ff2fbc7456e81e5147b7a2
Author: Nicolai Hähnle <[email protected]> Date: Fri Aug 4 16:48:30 2017 +0200 radeonsi: make si_shader_selector_reference globally visible Reviewed-by: Marek Olšák <[email protected]> --- src/gallium/drivers/radeonsi/si_shader.h | 14 ++++++++++++++ src/gallium/drivers/radeonsi/si_state_shaders.c | 17 ++--------------- 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/src/gallium/drivers/radeonsi/si_shader.h b/src/gallium/drivers/radeonsi/si_shader.h index e44d71c261..c41b10714e 100644 --- a/src/gallium/drivers/radeonsi/si_shader.h +++ b/src/gallium/drivers/radeonsi/si_shader.h @@ -663,4 +663,18 @@ si_shader_uses_bindless_images(struct si_shader_selector *selector) return selector ? selector->info.uses_bindless_images : false; } +void si_destroy_shader_selector(struct si_context *sctx, + struct si_shader_selector *sel); + +static inline void +si_shader_selector_reference(struct si_context *sctx, + struct si_shader_selector **dst, + struct si_shader_selector *src) +{ + if (pipe_reference(&(*dst)->reference, &src->reference)) + si_destroy_shader_selector(sctx, *dst); + + *dst = src; +} + #endif diff --git a/src/gallium/drivers/radeonsi/si_state_shaders.c b/src/gallium/drivers/radeonsi/si_state_shaders.c index de5260ccd8..968e231b8b 100644 --- a/src/gallium/drivers/radeonsi/si_state_shaders.c +++ b/src/gallium/drivers/radeonsi/si_state_shaders.c @@ -1534,19 +1534,6 @@ static bool si_check_missing_main_part(struct si_screen *sscreen, return true; } -static void si_destroy_shader_selector(struct si_context *sctx, - struct si_shader_selector *sel); - -static void si_shader_selector_reference(struct si_context *sctx, - struct si_shader_selector **dst, - struct si_shader_selector *src) -{ - if (pipe_reference(&(*dst)->reference, &src->reference)) - si_destroy_shader_selector(sctx, *dst); - - *dst = src; -} - /* Select the hw shader variant depending on the current state. */ static int si_shader_select_with_key(struct si_screen *sscreen, struct si_shader_ctx_state *state, @@ -2447,8 +2434,8 @@ static void si_delete_shader(struct si_context *sctx, struct si_shader *shader) free(shader); } -static void si_destroy_shader_selector(struct si_context *sctx, - struct si_shader_selector *sel) +void si_destroy_shader_selector(struct si_context *sctx, + struct si_shader_selector *sel) { struct si_shader *p = sel->first_variant, *c; struct si_shader_ctx_state *current_shader[SI_NUM_SHADERS] = { _______________________________________________ mesa-commit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-commit
