aboutsummaryrefslogtreecommitdiff
path: root/mesalib/src/mesa/state_tracker/st_program.c
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2014-05-01 16:56:41 +0200
committermarha <marha@users.sourceforge.net>2014-05-01 16:56:41 +0200
commitea0cd87ecbe9fc3c5503ccad7f87a895a458d6d4 (patch)
treea961f21249024edee920dc41bb54b2507cf08696 /mesalib/src/mesa/state_tracker/st_program.c
parent03418d6378fe72bea2ff4b941792054dd208b65d (diff)
downloadvcxsrv-ea0cd87ecbe9fc3c5503ccad7f87a895a458d6d4.tar.gz
vcxsrv-ea0cd87ecbe9fc3c5503ccad7f87a895a458d6d4.tar.bz2
vcxsrv-ea0cd87ecbe9fc3c5503ccad7f87a895a458d6d4.zip
xkeyboard-config libxcb xserver mesa git update 1 May 2014
xserver commit 2535b76c0d32bc1dd0ddaca06a419a68a4757df1 libxcb commit d978a4f69b30b630f28d07f1003cf290284d24d8 xkeyboard-config commit 5274a69ee85fb6c425c33c631fa8ea1310a8f097 mesa commit a773fdc64da8ba88d8c7f8e383c45248b0c3aa19
Diffstat (limited to 'mesalib/src/mesa/state_tracker/st_program.c')
-rw-r--r--mesalib/src/mesa/state_tracker/st_program.c21
1 files changed, 13 insertions, 8 deletions
diff --git a/mesalib/src/mesa/state_tracker/st_program.c b/mesalib/src/mesa/state_tracker/st_program.c
index 2f0ec32f5..f9887a2c4 100644
--- a/mesalib/src/mesa/state_tracker/st_program.c
+++ b/mesalib/src/mesa/state_tracker/st_program.c
@@ -682,6 +682,7 @@ st_translate_fragment_program(struct st_context *st,
/* handle remaining outputs (color) */
for (attr = 0; attr < FRAG_RESULT_MAX; attr++) {
if (outputsWritten & BITFIELD64_BIT(attr)) {
+ int semantic = TGSI_SEMANTIC_COLOR;
switch (attr) {
case FRAG_RESULT_DEPTH:
case FRAG_RESULT_STENCIL:
@@ -689,17 +690,21 @@ st_translate_fragment_program(struct st_context *st,
assert(0);
break;
case FRAG_RESULT_COLOR:
- write_all = GL_TRUE; /* fallthrough */
- default:
- assert(attr == FRAG_RESULT_COLOR ||
- (FRAG_RESULT_DATA0 <= attr && attr < FRAG_RESULT_MAX));
- fs_output_semantic_name[fs_num_outputs] = TGSI_SEMANTIC_COLOR;
- fs_output_semantic_index[fs_num_outputs] = numColors;
- outputMapping[attr] = fs_num_outputs;
- numColors++;
+ write_all = GL_TRUE;
+ break;
+ case FRAG_RESULT_SAMPLE_MASK:
+ semantic = TGSI_SEMANTIC_SAMPLEMASK;
break;
}
+ assert(attr == FRAG_RESULT_COLOR ||
+ attr == FRAG_RESULT_SAMPLE_MASK ||
+ (FRAG_RESULT_DATA0 <= attr && attr < FRAG_RESULT_MAX));
+ fs_output_semantic_name[fs_num_outputs] = semantic;
+ fs_output_semantic_index[fs_num_outputs] = numColors;
+ outputMapping[attr] = fs_num_outputs;
+ numColors++;
+
fs_num_outputs++;
}
}