summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAxel Davy <davyaxel0@gmail.com>2018-04-05 23:46:48 +0200
committerJuan A. Suarez Romero <jasuarez@igalia.com>2018-04-10 14:21:11 +0000
commit2f1cc016e18b31c6d299f212c40ac70de7c8b25c (patch)
treeebdc43076283a679b42106784ed0f8307ad6746e
parentea590a1374382bd0cc64ea53c76c2aee7c7e151c (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> (cherry picked from commit d899826733b1f6614c913c1c216f8157bf9e297d)
-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);