gallium/tgsi: Add support for PRIMITIVEID as a system value.

NIR always represents this as a system value, so for NIR-to-TGSI we need
this support.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6567>
This commit is contained in:
Eric Anholt 2020-01-14 11:31:22 -08:00
parent 6e7c006062
commit 1ca9f22a8b
1 changed files with 6 additions and 0 deletions

View File

@ -132,6 +132,12 @@ static void tgsi_fetch_gs_input(struct draw_geometry_shader *shader,
unsigned input_vertex_stride = shader->input_vertex_stride;
const float (*input_ptr)[4];
int primid_sv = machine->SysSemanticToIndex[TGSI_SEMANTIC_PRIMID];
if (primid_sv != -1) {
for (unsigned j = 0; j < TGSI_QUAD_SIZE; j++)
machine->SystemValue[primid_sv].xyzw[0].i[j] = shader->in_prim_idx;
}
input_ptr = shader->input;
for (i = 0; i < num_vertices; ++i) {