radeonsi: add support for PIPE_CAP_TGSI_TEXCOORD
authorMarek Olšák <marek.olsak@amd.com>
Sat, 9 May 2015 17:36:17 +0000 (19:36 +0200)
committerMarek Olšák <marek.olsak@amd.com>
Tue, 26 May 2015 10:42:31 +0000 (12:42 +0200)
commite4339bc9886a26d75b924ad045c3ddd003f802c3
treec7fb42280ca0a007aecc0232bb00620767515109
parent3d35027fdc383c2bd009f3690b2b160e3b39d58b
radeonsi: add support for PIPE_CAP_TGSI_TEXCOORD

Without it, texcoords are mapped to GENERIC[0..7], PointCoord is mapped to
GENERIC[8], and user-defined varyings start from GENERIC[9]. Since texcoords
can only be used between VS and PS, and PointCoord is PS-only, it's silly to
always start from GENERIC[9] in all other shaders (such as LS, HS, ES, GS).

This adds support for TEXCOORD and PCOORD semantics. As a result, st/mesa
will use GENERIC[0] as a base for user-defined varyings, which should make
linking ES and GS as well as tessellation shaders at runtime easier.

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
src/gallium/drivers/radeonsi/si_pipe.c
src/gallium/drivers/radeonsi/si_shader.c
src/gallium/drivers/radeonsi/si_state.c
src/gallium/drivers/radeonsi/si_state_shaders.c