On Mon, Jun 5, 2017 at 10:32 PM, Samuel Pitoiset <samuel.pitoi...@gmail.com> wrote: > > > On 06/05/2017 06:50 PM, Marek Olšák wrote: >> >> From: Marek Olšák <marek.ol...@amd.com> >> >> --- >> src/gallium/drivers/radeonsi/si_pipe.h | 30 >> ++++++++++++++----------- >> src/gallium/drivers/radeonsi/si_state_shaders.c | 6 ++--- >> 2 files changed, 19 insertions(+), 17 deletions(-) >> >> diff --git a/src/gallium/drivers/radeonsi/si_pipe.h >> b/src/gallium/drivers/radeonsi/si_pipe.h >> index 9364ef2..c5e6e7d 100644 >> --- a/src/gallium/drivers/radeonsi/si_pipe.h >> +++ b/src/gallium/drivers/radeonsi/si_pipe.h >> @@ -484,40 +484,44 @@ si_is_atom_dirty(struct si_context *sctx, >> return sctx->dirty_atoms & bit; >> } >> static inline void >> si_mark_atom_dirty(struct si_context *sctx, >> struct r600_atom *atom) >> { >> si_set_atom_dirty(sctx, atom, true); >> } >> -static inline struct tgsi_shader_info *si_get_vs_info(struct si_context >> *sctx) >> +static inline struct si_shader_ctx_state *si_get_vs(struct si_context >> *sctx) >> { >> if (sctx->gs_shader.cso) >> - return &sctx->gs_shader.cso->info; >> - else if (sctx->tes_shader.cso) >> - return &sctx->tes_shader.cso->info; >> - else if (sctx->vs_shader.cso) >> - return &sctx->vs_shader.cso->info; >> - else >> - return NULL; >> + return &sctx->gs_shader; >> + if (sctx->tes_shader.cso) >> + return &sctx->tes_shader; >> + >> + return &sctx->vs_shader; >> +} >> + >> +static inline struct tgsi_shader_info *si_get_vs_info(struct si_context >> *sctx) >> +{ >> + struct si_shader_ctx_state *vs = si_get_vs(sctx); >> + >> + return vs->cso ? &vs->cso->info : NULL; >> } >> static inline struct si_shader* si_get_vs_state(struct si_context >> *sctx) >> { >> - if (sctx->gs_shader.current) >> + if (sctx->gs_shader.cso) >> return sctx->gs_shader.cso->gs_copy_shader; > > > Mmmh, this was broken before, right?
No, it wasn't. Both "current" and "cso" are guaranteed to be up-to-date here and !!cso == !!current, so it's not a change in behavior, but the patch makes it clearer. Marek _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev