summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/nv50
diff options
context:
space:
mode:
authorRoland Scheidegger <[email protected]>2010-02-09 19:32:21 +0100
committerRoland Scheidegger <[email protected]>2010-02-09 19:32:21 +0100
commit653a83445f94620673f747a4ace6847a2c7fdb4d (patch)
treee2c6814da8d809813daffce530b37f3d283e96ff /src/gallium/drivers/nv50
parentb0613d87672ea08bb3b9cd56dee714fe413b670e (diff)
parentdd7be07c9685012b3e9fdfbaa13dc638abf6a9d1 (diff)
Merge branch 'gallium-nopointsizeminmax'
Conflicts: src/gallium/drivers/nv10/nv10_state.c src/gallium/drivers/nv20/nv20_state.c src/gallium/drivers/nv50/nv50_program.c
Diffstat (limited to 'src/gallium/drivers/nv50')
-rw-r--r--src/gallium/drivers/nv50/nv50_program.c16
-rw-r--r--src/gallium/drivers/nv50/nv50_state.c2
2 files changed, 8 insertions, 10 deletions
diff --git a/src/gallium/drivers/nv50/nv50_program.c b/src/gallium/drivers/nv50/nv50_program.c
index 3653e606ef5..2372cbbef69 100644
--- a/src/gallium/drivers/nv50/nv50_program.c
+++ b/src/gallium/drivers/nv50/nv50_program.c
@@ -4406,16 +4406,14 @@ nv50_pntc_replace(struct nv50_context *nv50, uint32_t pntc[8], unsigned base)
vp->cfg.out[j].si == fp->cfg.in[i].si)
break;
- if (j < vp->cfg.out_nr) {
- ubyte mode = nv50->rasterizer->pipe.sprite_coord_mode[
- vp->cfg.out[j].si];
+ if (j < vp->info.num_outputs) {
+ ubyte enable =
+ (nv50->rasterizer->pipe.sprite_coord_enable >> vp->cfg.out[j].si) & 1;
- if (mode == PIPE_SPRITE_COORD_NONE) {
+ if (enable == 0) {
m += n;
continue;
- } else
- if (mode == PIPE_SPRITE_COORD_LOWER_LEFT)
- origin = 0;
+ }
}
/* this is either PointCoord or replaced by sprite coords */
@@ -4426,7 +4424,7 @@ nv50_pntc_replace(struct nv50_context *nv50, uint32_t pntc[8], unsigned base)
++m;
}
}
- return origin;
+ return (nv50->rasterizer->pipe.sprite_coord_mode == PIPE_SPRITE_COORD_LOWER_LEFT ? 0 : origin);
}
static int
@@ -4570,7 +4568,7 @@ nv50_fp_linkage_validate(struct nv50_context *nv50)
so_method(so, tesla, NV50TCL_NOPERSPECTIVE_BITMAP(0), 4);
so_datap (so, lin, 4);
- if (nv50->rasterizer->pipe.point_sprite) {
+ if (nv50->rasterizer->pipe.sprite_coord_enable) {
so_method(so, tesla, NV50TCL_POINT_SPRITE_CTRL, 1);
so_data (so,
nv50_pntc_replace(nv50, pcrd, (reg[4] >> 8) & 0xff));
diff --git a/src/gallium/drivers/nv50/nv50_state.c b/src/gallium/drivers/nv50/nv50_state.c
index 7eb326adf5b..7c531b50a50 100644
--- a/src/gallium/drivers/nv50/nv50_state.c
+++ b/src/gallium/drivers/nv50/nv50_state.c
@@ -342,7 +342,7 @@ nv50_rasterizer_state_create(struct pipe_context *pipe,
so_data (so, fui(cso->point_size));
so_method(so, tesla, NV50TCL_POINT_SPRITE_ENABLE, 1);
- so_data (so, cso->point_sprite);
+ so_data (so, cso->point_quad_rasterization ? 1 : 0);
so_method(so, tesla, NV50TCL_POLYGON_MODE_FRONT, 3);
if (cso->front_winding == PIPE_WINDING_CCW) {