i915: Fix missing texture offset for mask.

In commit e581ceb, I modified the shader generation to accommodate mixed
textures and solids but missed applying the new computed sampler for the
mask.

References:

  Bug 23803 [bisected i915] gnome characters disappear
  http://bugs.freedesktop.org/show_bug.cgi?id=23803

  Bug 25031 rendering and color corruption since 14109abf
  http://bugs.freedesktop.org/show_bug.cgi?id=25031

  Bug 25047 [945GM bisected] rendercheck/repeat/triangles regressed
  http://bugs.freedesktop.org/show_bug.cgi?id=25047

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This commit is contained in:
Chris Wilson 2009-11-30 10:57:04 +00:00
parent a8ea20100d
commit 5e04ded2bc
1 changed files with 3 additions and 3 deletions

View File

@ -641,15 +641,15 @@ static void i915_emit_composite_setup(ScrnInfoPtr scrn)
if (! is_solid_mask) {
/* Load the mask_picture texel */
if (is_affine_mask) {
i915_fs_texld(FS_R1, FS_S0, FS_T0 + t);
i915_fs_texld(FS_R1, FS_S0 + t, FS_T0 + t);
} else {
i915_fs_texldp(FS_R1, FS_S0, FS_T0 + t);
i915_fs_texldp(FS_R1, FS_S0 + t, FS_T0 + t);
}
/* If the texture lacks an alpha channel, force the alpha to 1.
*/
if (PICT_FORMAT_A(mask_picture->format) == 0)
i915_fs_mov_masked(FS_R1, MASK_W,
i915_fs_operand_one());
i915_fs_operand_one());
mask_reg = FS_R1;
}