From 2d187672b7e38fcd8f6caa93f35dceb6fa11aa7f Mon Sep 17 00:00:00 2001 From: Brian Date: Thu, 30 Aug 2007 11:08:03 -0600 Subject: 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. --- src/mesa/tnl/t_vp_build.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/mesa/tnl') 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: */ -- cgit v1.2.3