vc4: Fix scaling W projection of the Z coordinate when there's a Z offset.

Fixes piglit glsl-fs-fragcoord-zw-perspective, es3conform
gl_FragCoord_z_frag, and the rest of the piglit glsl 1.10 interpolation
tests.
This commit is contained in:
Eric Anholt
2015-01-06 11:30:19 -08:00
parent 49b5c901e8
commit 426fd535d9
+3 -3
View File
@@ -1903,11 +1903,11 @@ emit_zs_write(struct vc4_compile *c, struct qreg rcp_w)
struct qreg zscale = add_uniform(c, QUNIFORM_VIEWPORT_Z_SCALE, 0);
struct qreg zoffset = add_uniform(c, QUNIFORM_VIEWPORT_Z_OFFSET, 0);
qir_VPM_WRITE(c, qir_FMUL(c, qir_FADD(c, qir_FMUL(c,
qir_VPM_WRITE(c, qir_FADD(c, qir_FMUL(c, qir_FMUL(c,
c->outputs[c->output_position_index + 2],
zscale),
zoffset),
rcp_w));
rcp_w),
zoffset));
}
static void