diff options
author | Wladimir J. van der Laan <[email protected]> | 2017-11-18 10:44:36 +0100 |
---|---|---|
committer | Christian Gmeiner <[email protected]> | 2017-11-30 07:33:02 +0100 |
commit | 5cc36f9f2183ce17c38b19eea865ed742478e767 (patch) | |
tree | 47f6479f607228a19494e03404a04708eb936524 /src/gallium/drivers/etnaviv/etnaviv_shader.c | |
parent | 3d09bb390a396ce89b6cb025d84e4076d8b27ae0 (diff) |
etnaviv: GC7000: Make point sprites work on HALTI5
Track varying component offset of the point size output, as well as
provide the offset of the point coord input.
Signed-off-by: Wladimir J. van der Laan <[email protected]>
Reviewed-by: Christian Gmeiner <[email protected]>
Diffstat (limited to 'src/gallium/drivers/etnaviv/etnaviv_shader.c')
-rw-r--r-- | src/gallium/drivers/etnaviv/etnaviv_shader.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/gallium/drivers/etnaviv/etnaviv_shader.c b/src/gallium/drivers/etnaviv/etnaviv_shader.c index 6012680624b..04ababc801f 100644 --- a/src/gallium/drivers/etnaviv/etnaviv_shader.c +++ b/src/gallium/drivers/etnaviv/etnaviv_shader.c @@ -179,6 +179,14 @@ etna_link_shaders(struct etna_context *ctx, struct compiled_shader_state *cs, cs->GL_VARYING_COMPONENT_USE[0] = component_use[0]; cs->GL_VARYING_COMPONENT_USE[1] = component_use[1]; + cs->GL_HALTI5_SH_SPECIALS = + 0x7f7f0000 | /* unknown bits, probably other PS inputs */ + /* pointsize is last (see above) */ + VIVS_GL_HALTI5_SH_SPECIALS_VS_PSIZE_OUT((vs->vs_pointsize_out_reg != -1) ? + cs->VS_OUTPUT_COUNT * 4 : 0x00) | + VIVS_GL_HALTI5_SH_SPECIALS_PS_PCOORD_IN((link.pcoord_varying_comp_ofs != -1) ? + link.pcoord_varying_comp_ofs : 0x7f); + /* reference instruction memory */ cs->vs_inst_mem_size = vs->code_size; cs->VS_INST_MEM = vs->code; |