[i965] round pointsize to nearest int according to spec
authorZou Nan hai <nanhai.zou@intel.com>
Mon, 17 Mar 2008 09:52:26 +0000 (17:52 +0800)
committerZou Nan hai <nanhai.zou@intel.com>
Mon, 17 Mar 2008 09:52:26 +0000 (17:52 +0800)
src/mesa/drivers/dri/i965/brw_sf_state.c

index 2b6087d69156b0a28fb0f82e45dfdb811f589018..398048429b7eaba099dd3520d23f9b952675256e 100644 (file)
@@ -224,11 +224,11 @@ sf_unit_create_from_key(struct brw_context *brw, struct brw_sf_unit_key *key,
        sf.sf6.line_width = 0;
 
    /* _NEW_POINT */
-   sf.sf6.point_rast_rule = 1; /* opengl conventions */
+   sf.sf6.point_rast_rule = BRW_RASTRULE_UPPER_RIGHT;  /* opengl conventions */
    /* XXX clamp max depends on AA vs. non-AA */
 
    sf.sf7.sprite_point = key->point_sprite;
-   sf.sf7.point_size = CLAMP(key->point_size, 1.0, 255.0) * (1<<3);
+   sf.sf7.point_size = CLAMP(nearbyint(key->point_size), 1, 255) * (1<<3);
    sf.sf7.use_point_size_state = !key->point_attenuated;
    sf.sf7.aa_line_distance_mode = 0;