nvc0/ir: clarify recursion fix to finding first tex uses
authorChristoph Bumiller <e0425955@student.tuwien.ac.at>
Fri, 5 Sep 2014 23:36:48 +0000 (01:36 +0200)
committerIlia Mirkin <imirkin@alum.mit.edu>
Sat, 6 Sep 2014 03:08:24 +0000 (23:08 -0400)
commitca9ab05d45ebf407485af2daa3742b897ff99162
tree73b03cedfad114dab23f12c6ad9dfdeebec5aa72
parentb9f9e3ce03dbd8d044a72a00e1e8856a500b5f72
nvc0/ir: clarify recursion fix to finding first tex uses

This is a simple shader for reproducing the case mentioned:

FRAG
DCL IN[0], GENERIC[0], PERSPECTIVE
DCL OUT[0], COLOR
DCL SAMP[0]
DCL CONST[0]
DCL TEMP[0..1], LOCAL
IMM[0] FLT32 {    0.0000,    -1.0000,     1.0000,     0.0000}
  0: MOV TEMP[0].x, CONST[0].wwww
  1: MOV TEMP[1].x, CONST[0].wwww
  2: BGNLOOP
  3:   IF TEMP[0].xxxx
  4:     BRK
  5:   ENDIF
  6:   ADD TEMP[0].x, TEMP[0], IMM[0].zzzz
  7:   IF CONST[0].xxxx
  8:     TEX TEMP[1].x, CONST[0], SAMP[0], 2D
  9:   ENDIF
 10:   IF CONST[0].zzzz
 11:     MOV TEMP[1].x, CONST[0].zzzz
 12:   ENDIF
 13: ENDLOOP
 14: MOV OUT[0], TEMP[1].xxxx
 15: END

Cc: "10.2 10.3" <mesa-stable@lists.freedesktop.org>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nvc0.cpp