From fceda4342cadc22ce86877a19bf82b86eb022d79 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 13 Jul 2011 10:56:37 -0700 Subject: [PATCH] i915: Include gl_FragCoord.w data, not just xyz. Fixes piglit fragcoord_w test. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=34323 --- src/mesa/drivers/dri/i915/i915_fragprog.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/mesa/drivers/dri/i915/i915_fragprog.c b/src/mesa/drivers/dri/i915/i915_fragprog.c index e9e8078328a..ac95d44b574 100644 --- a/src/mesa/drivers/dri/i915/i915_fragprog.c +++ b/src/mesa/drivers/dri/i915/i915_fragprog.c @@ -1346,7 +1346,7 @@ i915ValidateFragmentProgram(struct i915_context *i915) intel->coloroffset = 0; intel->specoffset = 0; - if (inputsRead & FRAG_BITS_TEX_ANY) { + if (inputsRead & FRAG_BITS_TEX_ANY || p->wpos_tex != -1) { EMIT_ATTR(_TNL_ATTRIB_POS, EMIT_4F_VIEWPORT, S4_VFMT_XYZW, 16); } else { @@ -1390,10 +1390,10 @@ i915ValidateFragmentProgram(struct i915_context *i915) * unused texture coordinate: */ s2 &= ~S2_TEXCOORD_FMT(i, S2_TEXCOORD_FMT0_MASK); - s2 |= S2_TEXCOORD_FMT(i, SZ_TO_HW(3)); + s2 |= S2_TEXCOORD_FMT(i, SZ_TO_HW(4)); intel->wpos_offset = offset; - intel->wpos_size = 3 * sizeof(GLuint); + intel->wpos_size = 4 * sizeof(GLuint); EMIT_PAD(intel->wpos_size); } -- 2.30.2