[PATCH 1/2] etnaviv: skip unused vertex attributes when assigning VS inputs
Christian Gmeiner
christian.gmeiner at gmail.com
Sat Oct 14 14:32:29 UTC 2017
2017-10-12 16:07 GMT+02:00 Lucas Stach <l.stach at pengutronix.de>:
> When not all of the vertex attributes are actually used in the shader,
> we end up with some inputs without an assigned reg. Those are marked
> as invalid and must be skipped when assigning the inputs, as those would
> overwrite other valid inputs otherwise.
>
> Fixes piglit drawpixels and a bunch of other tests using the st_draw path.
>
> Signed-off-by: Lucas Stach <l.stach at pengutronix.de>
Reviewed-by: Christian Gmeiner <christian.gmeiner at gmail.com>
> ---
> src/gallium/drivers/etnaviv/etnaviv_compiler.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/src/gallium/drivers/etnaviv/etnaviv_compiler.c b/src/gallium/drivers/etnaviv/etnaviv_compiler.c
> index e2b906c2f6a5..41ab4031f6c5 100644
> --- a/src/gallium/drivers/etnaviv/etnaviv_compiler.c
> +++ b/src/gallium/drivers/etnaviv/etnaviv_compiler.c
> @@ -2126,6 +2126,10 @@ fill_in_vs_inputs(struct etna_shader_variant *sobj, struct etna_compile *c)
> for (int idx = 0; idx < c->file[TGSI_FILE_INPUT].reg_size; ++idx) {
> struct etna_reg_desc *reg = &c->file[TGSI_FILE_INPUT].reg[idx];
> assert(sf->num_reg < ETNA_NUM_INPUTS);
> +
> + if (!reg->native.valid)
> + continue;
> +
> /* XXX exclude inputs with special semantics such as gl_frontFacing */
> sf->reg[sf->num_reg].reg = reg->native.id;
> sf->reg[sf->num_reg].semantic = reg->semantic;
> --
> 2.11.0
>
> _______________________________________________
> etnaviv mailing list
> etnaviv at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/etnaviv
greets
--
Christian Gmeiner, MSc
https://christian-gmeiner.info
More information about the etnaviv
mailing list