aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmma Anholt <emma@anholt.net>2021-09-13 16:49:20 -0700
committerGert Wollny <gw.fossdev@gmail.com>2021-09-17 08:11:39 +0000
commitfb64b116e102d2f84d970ac1548d01cfa2cf944a (patch)
tree23ae9e326491e59a41ac65021b892fa65afe0e06
parenteae4e44566e82b35bca98ec2b56ab923ce30185e (diff)
downloadvirglrenderer-fb64b116e102d2f84d970ac1548d01cfa2cf944a.tar.gz
Add missing writemask on TGSI_SEMANTIC_CLIPDIST writes.
If the OUT[] wasn't .xyzw, then the types wouldn't match and we'd compile fail. GLSL-to-TGSI always emitted a full vec4 write, but that shouldn't be required. Closes: #193 Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
-rw-r--r--src/vrend_shader.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/vrend_shader.c b/src/vrend_shader.c
index d5a8d227..2a6a41d6 100644
--- a/src/vrend_shader.c
+++ b/src/vrend_shader.c
@@ -3736,7 +3736,7 @@ get_destination_info(struct dump_ctx *ctx,
else
snprintf(clip_indirect, sizeof(clip_indirect), "+ %d", dst_reg->Register.Index - ctx->outputs[j].first);
}
- snprintf(dsts[i], 255, "clip_dist_temp[%d %s]", ctx->outputs[j].sid, clip_indirect);
+ snprintf(dsts[i], 255, "clip_dist_temp[%d %s]%s", ctx->outputs[j].sid, clip_indirect, writemask);
} else if (ctx->outputs[j].name == TGSI_SEMANTIC_TESSOUTER ||
ctx->outputs[j].name == TGSI_SEMANTIC_TESSINNER ||
ctx->outputs[j].name == TGSI_SEMANTIC_SAMPLEMASK) {