diff options
author | José Fonseca <[email protected]> | 2012-02-27 11:12:12 +0000 |
---|---|---|
committer | José Fonseca <[email protected]> | 2012-02-28 15:38:53 +0000 |
commit | 9773370eda1765b1014ba11a699d10244b88757c (patch) | |
tree | 617baefb5e56ad43baabaa8deb4bd8bcd90d4831 /src/gallium/drivers/svga/svga_state_rss.c | |
parent | d9c42097770f173804c7c7c40bf8bc6c4400673b (diff) |
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 <[email protected]>
Diffstat (limited to 'src/gallium/drivers/svga/svga_state_rss.c')
-rw-r--r-- | src/gallium/drivers/svga/svga_state_rss.c | 4 |
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 1ee8b7f49b1..a2bcf24dd1b 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); } |