summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r300/r300_vs.c
diff options
context:
space:
mode:
authorTom Stellard <tstellar@gmail.com>2010-07-13 21:25:27 -0700
committerTom Stellard <tstellar@gmail.com>2010-09-10 18:18:08 -0700
commit63432ecfce5415fbf07f1781ec77b5ea3efff599 (patch)
tree903818a193704d2053ce79cf0c8a2d43c3cbaa88 /src/gallium/drivers/r300/r300_vs.c
parentd8a36620089e72d431ae853ec168f193f3376782 (diff)
downloadexternal_mesa3d-63432ecfce5415fbf07f1781ec77b5ea3efff599.zip
external_mesa3d-63432ecfce5415fbf07f1781ec77b5ea3efff599.tar.gz
external_mesa3d-63432ecfce5415fbf07f1781ec77b5ea3efff599.tar.bz2
r300/compiler: Enable presubtract sources
The r300 compiler can now emit instructions that select from the presubtract source. A peephole optimization has been added to convert instructions like: ADD Temp[0].x, none.1, -Temp[1].x into the INV (1 - src0) presubtract operation.
Diffstat (limited to 'src/gallium/drivers/r300/r300_vs.c')
-rw-r--r--src/gallium/drivers/r300/r300_vs.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/gallium/drivers/r300/r300_vs.c b/src/gallium/drivers/r300/r300_vs.c
index 22c94ad..e2b9af9 100644
--- a/src/gallium/drivers/r300/r300_vs.c
+++ b/src/gallium/drivers/r300/r300_vs.c
@@ -208,6 +208,7 @@ void r300_translate_vertex_shader(struct r300_context *r300,
compiler.Base.is_r500 = r300->screen->caps.is_r500;
compiler.Base.disable_optimizations = DBG_ON(r300, DBG_NO_OPT);
compiler.Base.has_half_swizzles = FALSE;
+ compiler.Base.has_presub = FALSE;
compiler.Base.max_temp_regs = 32;
compiler.Base.max_constants = 256;
compiler.Base.max_alu_insts = r300->screen->caps.is_r500 ? 1024 : 256;