summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Paul <brian.paul@tungstengraphics.com>2008-03-14 17:47:11 -0600
committerBrian Paul <brian.paul@tungstengraphics.com>2008-03-14 17:47:11 -0600
commitc2bf23b8372607a5507a44ea3654c8af1083529a (patch)
tree408a016aedabd1a31fea302854ab6ed1aebcebdc
parentcbf42c45a15d6a132c7f7d4946c422ee3de35e6c (diff)
mesa: clamp point size in vertex program when computing attenuated size
-rw-r--r--src/mesa/main/ffvertex_prog.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/mesa/main/ffvertex_prog.c b/src/mesa/main/ffvertex_prog.c
index 04ece4cda8..f648d081c0 100644
--- a/src/mesa/main/ffvertex_prog.c
+++ b/src/mesa/main/ffvertex_prog.c
@@ -1398,12 +1398,13 @@ static void build_pointsize( struct tnl_program *p )
/* 1 / sqrt(factor) */
emit_op1(p, OPCODE_RSQ, ut, WRITEMASK_X, ut );
-#if 1
+#if 0
/* out = pointSize / sqrt(factor) */
emit_op2(p, OPCODE_MUL, out, WRITEMASK_X, ut, state_size);
#else
- /* not sure, might make sense to do clamping here,
- but it's not done in t_vb_points neither */
+ /* this is a good place to clamp the point size since there's likely
+ * no hardware registers to clamp point size at rasterization time.
+ */
emit_op2(p, OPCODE_MUL, ut, WRITEMASK_X, ut, state_size);
emit_op2(p, OPCODE_MAX, ut, WRITEMASK_X, ut, swizzle1(state_size, Y));
emit_op2(p, OPCODE_MIN, out, WRITEMASK_X, ut, swizzle1(state_size, Z));