summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2010-05-15 00:47:55 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2010-05-15 00:48:19 +0100
commit213816c30b5ca6146e26ded85b2aa31ca16ca9bf (patch)
tree7568fc14c0ddcf84816484708981845c79502e43 /src
parent737de9a779d05fe6fb1efe1904fda2cc452ff137 (diff)
i915: Load texture into directly into OC when possible.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src')
-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) {