For the series: Reviewed-by: Marek Olšák <marek.ol...@amd.com>
Marek On Wed, Jul 22, 2015 at 1:06 AM, Dave Airlie <airl...@gmail.com> wrote: > From: Dave Airlie <airl...@redhat.com> > > This is also picked from Marek's tess work, it reduces > the conflicts with my GS5 work. > > Signed-off-by: Dave Airlie <airl...@redhat.com> > --- > src/gallium/drivers/radeonsi/si_shader.c | 2 +- > src/gallium/drivers/radeonsi/si_shader.h | 4 +++- > src/gallium/drivers/radeonsi/si_state_shaders.c | 6 +++--- > 3 files changed, 7 insertions(+), 5 deletions(-) > > diff --git a/src/gallium/drivers/radeonsi/si_shader.c > b/src/gallium/drivers/radeonsi/si_shader.c > index a944547..2705dcc 100644 > --- a/src/gallium/drivers/radeonsi/si_shader.c > +++ b/src/gallium/drivers/radeonsi/si_shader.c > @@ -384,7 +384,7 @@ static LLVMValueRef fetch_input_gs( > args[1] = vtx_offset; > args[2] = lp_build_const_int32(gallivm, > (get_param_index(semantic_name, > semantic_index, > - > shader->selector->gs_used_inputs) * 4 + > + > shader->selector->inputs_read) * 4 + > swizzle) * 256); > args[3] = uint->zero; > args[4] = uint->one; /* OFFEN */ > diff --git a/src/gallium/drivers/radeonsi/si_shader.h > b/src/gallium/drivers/radeonsi/si_shader.h > index 21bae5f..fbbd747 100644 > --- a/src/gallium/drivers/radeonsi/si_shader.h > +++ b/src/gallium/drivers/radeonsi/si_shader.h > @@ -116,7 +116,9 @@ struct si_shader_selector { > unsigned gs_output_prim; > unsigned gs_max_out_vertices; > unsigned gs_num_invocations; > - uint64_t gs_used_inputs; /* mask of "get_unique_index" bits */ > + > + /* mask of "get_unique_index" bits */ > + uint64_t inputs_read; > }; > > union si_shader_key { > diff --git a/src/gallium/drivers/radeonsi/si_state_shaders.c > b/src/gallium/drivers/radeonsi/si_state_shaders.c > index 78be4d9..ad398d9 100644 > --- a/src/gallium/drivers/radeonsi/si_state_shaders.c > +++ b/src/gallium/drivers/radeonsi/si_state_shaders.c > @@ -112,7 +112,7 @@ static void si_shader_gs(struct si_shader *shader) > si_pm4_set_reg(pm4, R_028A68_VGT_GSVS_RING_OFFSET_3, gsvs_itemsize); > > si_pm4_set_reg(pm4, R_028AAC_VGT_ESGS_RING_ITEMSIZE, > - util_bitcount64(shader->selector->gs_used_inputs) * > (16 >> 2)); > + util_bitcount64(shader->selector->inputs_read) * (16 > >> 2)); > si_pm4_set_reg(pm4, R_028AB0_VGT_GSVS_RING_ITEMSIZE, gsvs_itemsize); > > si_pm4_set_reg(pm4, R_028B38_VGT_GS_MAX_VERT_OUT, gs_max_vert_out); > @@ -353,7 +353,7 @@ static inline void si_shader_selector_key(struct > pipe_context *ctx, > > if (sctx->gs_shader) { > key->vs.as_es = 1; > - key->vs.gs_used_inputs = > sctx->gs_shader->gs_used_inputs; > + key->vs.gs_used_inputs = sctx->gs_shader->inputs_read; > } > break; > case PIPE_SHADER_GEOMETRY: > @@ -487,7 +487,7 @@ static void *si_create_shader_state(struct pipe_context > *ctx, > case TGSI_SEMANTIC_PRIMID: > break; > default: > - sel->gs_used_inputs |= > + sel->inputs_read |= > 1llu << > si_shader_io_get_unique_index(name, index); > } > } > -- > 2.4.3 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev