vc4: Use Newton-Raphson on the 1/W write to fix glmark2 terrain.
authorEric Anholt <eric@anholt.net>
Fri, 4 Nov 2016 20:41:20 +0000 (13:41 -0700)
committerEric Anholt <eric@anholt.net>
Fri, 4 Nov 2016 22:34:38 +0000 (15:34 -0700)
The 1/W was apparently not accurate enough, and we were getting sparklies
in the distance.  The closed driver also did a N-R step here.

Cc: <mesa-stable@lists.freedesktop.org>
src/gallium/drivers/vc4/vc4_program.c

index f4be5f43c8c6bb9e1f1885603ca1f4a313336721..33cd1355b99d76dd31e1acc5a039219be00eb6e2 100644 (file)
@@ -1421,7 +1421,7 @@ emit_vert_end(struct vc4_compile *c,
               struct vc4_varying_slot *fs_inputs,
               uint32_t num_fs_inputs)
 {
-        struct qreg rcp_w = qir_RCP(c, c->outputs[c->output_position_index + 3]);
+        struct qreg rcp_w = ntq_rcp(c, c->outputs[c->output_position_index + 3]);
 
         emit_stub_vpm_read(c);