st/mesa: handle layer and primitive id output and point size input

This fixes a number of piglit crashes when running on a hacked up llvmpipe.

Signed-off-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
This commit is contained in:
Dave Airlie
2013-10-14 17:27:48 +10:00
committed by Dave Airlie
parent 038a9aab33
commit 530afc82a1

View File

@@ -923,6 +923,10 @@ st_translate_geometry_program(struct st_context *st,
stgp->input_semantic_name[slot] = TGSI_SEMANTIC_CLIPDIST;
stgp->input_semantic_index[slot] = 1;
break;
case VARYING_SLOT_PSIZ:
stgp->input_semantic_name[slot] = TGSI_SEMANTIC_PSIZE;
stgp->input_semantic_index[slot] = 0;
break;
case VARYING_SLOT_TEX0:
case VARYING_SLOT_TEX1:
case VARYING_SLOT_TEX2:
@@ -1007,6 +1011,14 @@ st_translate_geometry_program(struct st_context *st,
gs_output_semantic_name[slot] = TGSI_SEMANTIC_CLIPDIST;
gs_output_semantic_index[slot] = 1;
break;
case VARYING_SLOT_LAYER:
gs_output_semantic_name[slot] = TGSI_SEMANTIC_LAYER;
gs_output_semantic_index[slot] = 0;
break;
case VARYING_SLOT_PRIMITIVE_ID:
gs_output_semantic_name[slot] = TGSI_SEMANTIC_PRIMID;
gs_output_semantic_index[slot] = 0;
break;
case VARYING_SLOT_TEX0:
case VARYING_SLOT_TEX1:
case VARYING_SLOT_TEX2: