radeonsi: make si_shader_selector_reference globally visible
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
parent
4bbf6ded20
commit
40697e8678
|
@ -663,4 +663,18 @@ si_shader_uses_bindless_images(struct si_shader_selector *selector)
|
||||||
return selector ? selector->info.uses_bindless_images : false;
|
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
|
#endif
|
||||||
|
|
|
@ -1534,19 +1534,6 @@ static bool si_check_missing_main_part(struct si_screen *sscreen,
|
||||||
return true;
|
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. */
|
/* Select the hw shader variant depending on the current state. */
|
||||||
static int si_shader_select_with_key(struct si_screen *sscreen,
|
static int si_shader_select_with_key(struct si_screen *sscreen,
|
||||||
struct si_shader_ctx_state *state,
|
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);
|
free(shader);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void si_destroy_shader_selector(struct si_context *sctx,
|
void si_destroy_shader_selector(struct si_context *sctx,
|
||||||
struct si_shader_selector *sel)
|
struct si_shader_selector *sel)
|
||||||
{
|
{
|
||||||
struct si_shader *p = sel->first_variant, *c;
|
struct si_shader *p = sel->first_variant, *c;
|
||||||
struct si_shader_ctx_state *current_shader[SI_NUM_SHADERS] = {
|
struct si_shader_ctx_state *current_shader[SI_NUM_SHADERS] = {
|
||||||
|
|
Loading…
Reference in New Issue