aboutsummaryrefslogtreecommitdiffstats
path: root/src/mesa/state_tracker/st_program.c
diff options
context:
space:
mode:
authorDave Airlie <[email protected]>2014-01-21 14:55:59 +1000
committerDave Airlie <[email protected]>2014-02-11 14:06:40 +1000
commitc116ee604260faca75aaf2b0d8bbbd78b9c71154 (patch)
treeff02545b39e4bb6e5a664f93f3acbfef789b8d1b /src/mesa/state_tracker/st_program.c
parenta21552a96b8cfafa933cab2fd49a389317a1b44e (diff)
st/mesa: add support for viewport index semantic
This adds GS output and FS input support, even though FS input support isn't supported until GLSL 4.30 from what I can see. Signed-off-by: Dave Airlie <[email protected]>
Diffstat (limited to 'src/mesa/state_tracker/st_program.c')
-rw-r--r--src/mesa/state_tracker/st_program.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/mesa/state_tracker/st_program.c b/src/mesa/state_tracker/st_program.c
index cadbe1705a3..438d52c2112 100644
--- a/src/mesa/state_tracker/st_program.c
+++ b/src/mesa/state_tracker/st_program.c
@@ -572,6 +572,11 @@ st_translate_fragment_program(struct st_context *st,
input_semantic_index[slot] = 0;
interpMode[slot] = TGSI_INTERPOLATE_CONSTANT;
break;
+ case VARYING_SLOT_VIEWPORT:
+ input_semantic_name[slot] = TGSI_SEMANTIC_VIEWPORT_INDEX;
+ input_semantic_index[slot] = 0;
+ interpMode[slot] = TGSI_INTERPOLATE_CONSTANT;
+ break;
case VARYING_SLOT_CLIP_DIST0:
input_semantic_name[slot] = TGSI_SEMANTIC_CLIPDIST;
input_semantic_index[slot] = 0;
@@ -1027,6 +1032,10 @@ st_translate_geometry_program(struct st_context *st,
gs_output_semantic_name[slot] = TGSI_SEMANTIC_PRIMID;
gs_output_semantic_index[slot] = 0;
break;
+ case VARYING_SLOT_VIEWPORT:
+ gs_output_semantic_name[slot] = TGSI_SEMANTIC_VIEWPORT_INDEX;
+ gs_output_semantic_index[slot] = 0;
+ break;
case VARYING_SLOT_TEX0:
case VARYING_SLOT_TEX1:
case VARYING_SLOT_TEX2: