[Mesa-dev] [PATCH 5/7] mesa/st: pass st_compute_program to st_get_cp_variant
Marek Olšák
maraeo at gmail.com
Mon Sep 12 13:13:33 UTC 2016
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
Marek
On Thu, Sep 8, 2016 at 10:30 PM, Rob Clark <robdclark at gmail.com> wrote:
> Makes it more consistent with vp/fp variants, and will be needed in a
> following patch.
>
> Signed-off-by: Rob Clark <robdclark at gmail.com>
> ---
> src/mesa/state_tracker/st_atom_shader.c | 2 +-
> src/mesa/state_tracker/st_program.c | 12 ++++++------
> src/mesa/state_tracker/st_program.h | 3 +--
> 3 files changed, 8 insertions(+), 9 deletions(-)
>
> diff --git a/src/mesa/state_tracker/st_atom_shader.c b/src/mesa/state_tracker/st_atom_shader.c
> index c2e4fc8..3cf8992 100644
> --- a/src/mesa/state_tracker/st_atom_shader.c
> +++ b/src/mesa/state_tracker/st_atom_shader.c
> @@ -322,7 +322,7 @@ update_cp( struct st_context *st )
> assert(stcp->Base.Base.Target == GL_COMPUTE_PROGRAM_NV);
>
> key = st_get_basic_variant_key(st, &stcp->Base.Base);
> - st->cp_variant = st_get_cp_variant(st, &stcp->tgsi, &stcp->variants, &key);
> + st->cp_variant = st_get_cp_variant(st, stcp, &key);
>
> st_reference_compprog(st, &st->cp, stcp);
>
> diff --git a/src/mesa/state_tracker/st_program.c b/src/mesa/state_tracker/st_program.c
> index 284cc22..41ccc20 100644
> --- a/src/mesa/state_tracker/st_program.c
> +++ b/src/mesa/state_tracker/st_program.c
> @@ -1685,15 +1685,15 @@ st_translate_compute_program(struct st_context *st,
> */
> struct st_basic_variant *
> st_get_cp_variant(struct st_context *st,
> - struct pipe_compute_state *tgsi,
> - struct st_basic_variant **variants,
> + struct st_compute_program *stcp,
> const struct st_basic_variant_key *key)
> {
> struct pipe_context *pipe = st->pipe;
> + struct pipe_compute_state *tgsi = &stcp->tgsi;
> struct st_basic_variant *v;
>
> /* Search for existing variant */
> - for (v = *variants; v; v = v->next) {
> + for (v = stcp->variants; v; v = v->next) {
> if (memcmp(&v->key, key, sizeof(*key)) == 0) {
> break;
> }
> @@ -1708,8 +1708,8 @@ st_get_cp_variant(struct st_context *st,
> v->key = *key;
>
> /* insert into list */
> - v->next = *variants;
> - *variants = v;
> + v->next = stcp->variants;
> + stcp->variants = v;
> }
> }
>
> @@ -1955,7 +1955,7 @@ st_precompile_shader_variant(struct st_context *st,
> case GL_COMPUTE_PROGRAM_NV: {
> struct st_compute_program *p = (struct st_compute_program *)prog;
> struct st_basic_variant_key key = st_get_basic_variant_key(st, prog);
> - st_get_cp_variant(st, &p->tgsi, &p->variants, &key);
> + st_get_cp_variant(st, p, &key);
> break;
> }
>
> diff --git a/src/mesa/state_tracker/st_program.h b/src/mesa/state_tracker/st_program.h
> index f4e572a..dd5a89b 100644
> --- a/src/mesa/state_tracker/st_program.h
> +++ b/src/mesa/state_tracker/st_program.h
> @@ -447,8 +447,7 @@ st_get_fp_variant(struct st_context *st,
>
> extern struct st_basic_variant *
> st_get_cp_variant(struct st_context *st,
> - struct pipe_compute_state *tgsi,
> - struct st_basic_variant **variants,
> + struct st_compute_program *p,
> const struct st_basic_variant_key *key);
>
> extern struct st_basic_variant *
> --
> 2.7.4
>
More information about the mesa-dev
mailing list