summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/svga/svga_state_rss.c
diff options
context:
space:
mode:
authorJosé Fonseca <jfonseca@vmware.com>2012-02-27 11:12:12 +0000
committerJosé Fonseca <jfonseca@vmware.com>2012-02-28 15:38:53 +0000
commit9773370eda1765b1014ba11a699d10244b88757c (patch)
tree617baefb5e56ad43baabaa8deb4bd8bcd90d4831 /src/gallium/drivers/svga/svga_state_rss.c
parentd9c42097770f173804c7c7c40bf8bc6c4400673b (diff)
downloadexternal_mesa3d-9773370eda1765b1014ba11a699d10244b88757c.zip
external_mesa3d-9773370eda1765b1014ba11a699d10244b88757c.tar.gz
external_mesa3d-9773370eda1765b1014ba11a699d10244b88757c.tar.bz2
svga: Advertise SVGA3D_DEVCAP_MAX_POINT_SIZE.
Backends usually advertise a SVGA3D_DEVCAP_MAX_POINT_SIZE between 63 and 256, so an hardcoded max point size of 80 is often incorrect. This limitation does not apply for anti-aliased points (as they are done via draw module) but we still advertise the same limit for both, because all others pipe drivers do. Reviewed-by: Brian Paul <brianp@vmware.com>
Diffstat (limited to 'src/gallium/drivers/svga/svga_state_rss.c')
-rw-r--r--src/gallium/drivers/svga/svga_state_rss.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/gallium/drivers/svga/svga_state_rss.c b/src/gallium/drivers/svga/svga_state_rss.c
index 1ee8b7f..a2bcf24 100644
--- a/src/gallium/drivers/svga/svga_state_rss.c
+++ b/src/gallium/drivers/svga/svga_state_rss.c
@@ -29,6 +29,7 @@
#include "util/u_math.h"
#include "svga_context.h"
+#include "svga_screen.h"
#include "svga_state.h"
#include "svga_cmd.h"
@@ -77,6 +78,7 @@ svga_queue_rs( struct rs_queue *q,
static int emit_rss( struct svga_context *svga,
unsigned dirty )
{
+ struct svga_screen *screen = svga_screen(svga->pipe.screen);
struct rs_queue queue;
float point_size_min;
@@ -221,7 +223,7 @@ static int emit_rss( struct svga_context *svga,
EMIT_RS( svga, curr->linepattern, LINEPATTERN, fail );
EMIT_RS_FLOAT( svga, curr->pointsize, POINTSIZE, fail );
EMIT_RS_FLOAT( svga, point_size_min, POINTSIZEMIN, fail );
- EMIT_RS_FLOAT( svga, SVGA_MAX_POINTSIZE, POINTSIZEMAX, fail );
+ EMIT_RS_FLOAT( svga, screen->maxPointSize, POINTSIZEMAX, fail );
EMIT_RS( svga, curr->pointsprite, POINTSPRITEENABLE, fail);
}