diff options
author | Brian <[email protected]> | 2007-08-30 11:08:03 -0600 |
---|---|---|
committer | Brian <[email protected]> | 2007-08-30 14:43:08 -0600 |
commit | 2d187672b7e38fcd8f6caa93f35dceb6fa11aa7f (patch) | |
tree | 69a88187c5f2e8585100554bc283a74f08850360 /src/mesa/tnl/t_vp_build.c | |
parent | e62b9241d288da7d9bed28fb85ea17bbb617aa28 (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.c | 14 |
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 eb5e176895e..f923b8e1326 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: */ |