From: Jonathan Marek Date: Wed, 3 Jul 2019 18:08:37 +0000 (-0400) Subject: etnaviv: fix non-pointsprite points on GC7000L X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=329d322a16af3139e1ed6c74ec90f6408680f051;p=mesa.git etnaviv: fix non-pointsprite points on GC7000L Fixes these deqp tests (and more): dEQP-GLES2.functional.draw.draw_arrays.points.single_attribute dEQP-GLES2.functional.draw.draw_arrays.points.multiple_attributes dEQP-GLES2.functional.draw.draw_arrays.points.default_attribute dEQP-GLES2.functional.draw.draw_elements.points.single_attribute dEQP-GLES2.functional.draw.draw_elements.points.multiple_attributes dEQP-GLES2.functional.draw.draw_elements.points.default_attribute Signed-off-by: Jonathan Marek Reviewed-by: Christian Gmeiner --- diff --git a/src/gallium/drivers/etnaviv/etnaviv_shader.c b/src/gallium/drivers/etnaviv/etnaviv_shader.c index 4664ba96b21..72796065fb6 100644 --- a/src/gallium/drivers/etnaviv/etnaviv_shader.c +++ b/src/gallium/drivers/etnaviv/etnaviv_shader.c @@ -151,6 +151,10 @@ etna_link_shaders(struct etna_context *ctx, struct compiled_shader_state *cs, cs->VS_OUTPUT_COUNT_PSIZE = cs->VS_OUTPUT_COUNT; } + /* if fragment shader doesn't read pointcoord, disable it */ + if (link.pcoord_varying_comp_ofs == -1) + cs->PA_CONFIG &= ~VIVS_PA_CONFIG_POINT_SPRITE_ENABLE; + cs->VS_LOAD_BALANCING = vs->vs_load_balancing; cs->VS_START_PC = 0;