summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAxel Davy <davyaxel0@gmail.com>2018-04-05 23:46:48 +0200
committerAxel Davy <davyaxel0@gmail.com>2018-04-08 22:49:43 +0200
commitd899826733b1f6614c913c1c216f8157bf9e297d (patch)
tree937f6dfb5eb6c7ede3329a4867b83050a0cc66e3
parent9e802736935816d5456ff93c990d3a751c11a971 (diff)
st/nine: Do not use scratch for face register
Scratch registers are reused every instructions. Since vFace is reused, a new temporary register should be used. Fixes: https://github.com/iXit/Mesa-3D/issues/311 Signed-off-by: Axel Davy <davyaxel0@gmail.com> CC: "17.3 18.0" <mesa-stable@lists.freedesktop.org>
-rw-r--r--src/gallium/state_trackers/nine/nine_shader.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/gallium/state_trackers/nine/nine_shader.c b/src/gallium/state_trackers/nine/nine_shader.c
index cc667ebfbcd..422df931c74 100644
--- a/src/gallium/state_trackers/nine/nine_shader.c
+++ b/src/gallium/state_trackers/nine/nine_shader.c
@@ -1079,7 +1079,7 @@ tx_src_param(struct shader_translator *tx, const struct sm1_src_param *param)
case D3DSMO_FACE:
if (ureg_src_is_undef(tx->regs.vFace)) {
if (tx->face_is_sysval_integer) {
- tmp = tx_scratch(tx);
+ tmp = ureg_DECL_temporary(ureg);
tx->regs.vFace =
ureg_DECL_system_value(ureg, TGSI_SEMANTIC_FACE, 0);