summaryrefslogtreecommitdiff
path: root/src/mesa/tnl/t_vp_build.c
diff options
context:
space:
mode:
authorBrian <brian.paul@tungstengraphics.com>2007-08-30 11:08:03 -0600
committerBrian <brian.paul@tungstengraphics.com>2007-08-30 14:43:08 -0600
commit2d187672b7e38fcd8f6caa93f35dceb6fa11aa7f (patch)
tree69a88187c5f2e8585100554bc283a74f08850360 /src/mesa/tnl/t_vp_build.c
parente62b9241d288da7d9bed28fb85ea17bbb617aa28 (diff)
Sketch out per-vertex point size.
The code is all in place, but mostly disabled for now: In t_vp_build.c, write the VERT_RESULT_PSIZE register In sp_state_derived.c, need to emit vertex point size if drawing points. In setup_point() use the point size from the vertex.
Diffstat (limited to 'src/mesa/tnl/t_vp_build.c')
-rw-r--r--src/mesa/tnl/t_vp_build.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/mesa/tnl/t_vp_build.c b/src/mesa/tnl/t_vp_build.c
index eb5e176895..f923b8e132 100644
--- a/src/mesa/tnl/t_vp_build.c
+++ b/src/mesa/tnl/t_vp_build.c
@@ -1364,6 +1364,16 @@ static void build_pointsize( struct tnl_program *p )
release_temp(p, ut);
}
+/**
+ * Emit constant point size.
+ */
+static void constant_pointsize( struct tnl_program *p )
+{
+ struct ureg state_size = register_param1(p, STATE_POINT_SIZE);
+ struct ureg out = register_output(p, VERT_RESULT_PSIZ);
+ emit_op1(p, OPCODE_MOV, out, WRITEMASK_X, state_size);
+}
+
static void build_tnl_program( struct tnl_program *p )
{ /* Emit the program, starting with modelviewproject:
*/
@@ -1392,6 +1402,10 @@ static void build_tnl_program( struct tnl_program *p )
if (p->state->point_attenuated)
build_pointsize(p);
+#if 0
+ else
+ constant_pointsize(p);
+#endif
/* Finish up:
*/