r200: fix r200 large points
authorRoland Scheidegger <sroland@vmware.com>
Mon, 8 Nov 2010 20:49:51 +0000 (21:49 +0100)
committerRoland Scheidegger <sroland@vmware.com>
Wed, 10 Nov 2010 16:24:41 +0000 (17:24 +0100)
commitc7192ab11f7e34fdfe17d36d089260c6703ddfa8
tree364876e2f4206afa6d1e2ee4b35f15a8183ae32b
parentaa139a14ba7279f908da523522cb9ec0578b1ea0
r200: fix r200 large points

DD_POINT_SIZE got never set for some time now (as it was set only in ifdefed
out code), which caused the r200 driver to use the point primitive mistakenly
in some cases which can only do size 1 instead of point sprite. Since the
logic to use point instead of point sprite prim is flaky at best anyway (can't
work correctly for per-vertex point size), just drop this and always emit point
sprites (except for AA points) - reasons why the driver tried to use points for
size 1.0 are unknown though it is possible they are faster or more conformant.
Note that we can't emit point sprites without point sprite cntl as that might
result in undefined point sizes, hence need drm version check (which was
unnecessary before as it should always have selected points). An
alternative would be to rely on the RE point size clamp controls which could
clamp the size to 1.0 min/max even if the SE point size is undefined, but currently
always use 0 for min clamp. (As a side note, this also means the driver does
not honor the gl spec which mandates points, but not point sprites, with zero size
to be rendered as size 1.)
This should fix recent reports of https://bugs.freedesktop.org/show_bug.cgi?id=702.
This is a candidate for the mesa 7.9 branch.
src/mesa/drivers/dri/r200/r200_swtcl.c
src/mesa/drivers/dri/r200/r200_tcl.c