summaryrefslogtreecommitdiff
path: root/src/i915_render.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/i915_render.c')
-rw-r--r--src/i915_render.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/i915_render.c b/src/i915_render.c
index baaa58d9..59d92481 100644
--- a/src/i915_render.c
+++ b/src/i915_render.c
@@ -627,12 +627,14 @@ static void i915_emit_composite_setup(ScrnInfoPtr scrn)
if (dst_format == COLR_BUF_8BIT)
src_reg = FS_R0;
else
- src_reg = FS_R0;
+ src_reg = FS_OC;
+
if (is_affine_src)
i915_fs_texld(src_reg, FS_S0, FS_T0);
else
i915_fs_texldp(src_reg, FS_S0, FS_T0);
}
+
if (src_reg != FS_OC) {
if (dst_format == COLR_BUF_8BIT)
i915_fs_mov(FS_OC, i915_fs_operand(src_reg, W, W, W, W));
@@ -647,6 +649,7 @@ static void i915_emit_composite_setup(ScrnInfoPtr scrn)
i915_fs_dcl(FS_T0 + t);
i915_fs_dcl(FS_S0 + t);
}
+
if (! is_solid_src) {
/* Load the source_picture texel */
if (is_affine_src) {