summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJosé Fonseca <jfonseca@vmware.com>2010-02-22 18:57:09 +0000
committerJosé Fonseca <jfonseca@vmware.com>2010-02-22 19:38:05 +0000
commitf5ffbe0bc3850d9e8574ebda641b223ddac27cc7 (patch)
treeccdc7c6aa4c27c5ac1e5c3a9d7108f07c41878d9
parent46d8ca023d546612c3a7d775a194ac099f5a716f (diff)
svga: Emit a scalar rcp in shadow maps.
Small improvement in Lightsmark 2008.
-rw-r--r--src/gallium/drivers/svga/svga_tgsi_insn.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/gallium/drivers/svga/svga_tgsi_insn.c b/src/gallium/drivers/svga/svga_tgsi_insn.c
index bcdfb39225b..a5301eaffa8 100644
--- a/src/gallium/drivers/svga/svga_tgsi_insn.c
+++ b/src/gallium/drivers/svga/svga_tgsi_insn.c
@@ -1416,21 +1416,21 @@ static boolean emit_tex(struct svga_shader_emitter *emit,
/* Divide texcoord R by Q */
if (!submit_op1( emit, inst_token( SVGA3DOP_RCP ),
- src0_zdivw,
+ writemask(src0_zdivw, TGSI_WRITEMASK_X),
scalar(src0, TGSI_SWIZZLE_W) ))
return FALSE;
if (!submit_op2( emit, inst_token( SVGA3DOP_MUL ),
- src0_zdivw,
+ writemask(src0_zdivw, TGSI_WRITEMASK_X),
scalar(src0, TGSI_SWIZZLE_Z),
- src(src0_zdivw) ))
+ scalar(src(src0_zdivw), TGSI_SWIZZLE_X) ))
return FALSE;
if (!emit_select(
emit,
emit->key.fkey.tex[src1.base.num].compare_func,
writemask( dst, TGSI_WRITEMASK_XYZ ),
- src(src0_zdivw),
+ scalar(src(src0_zdivw), TGSI_SWIZZLE_X),
tex_src_x))
return FALSE;
}