Merge branch 'gallium-nopointsizeminmax'
[mesa.git] / src / gallium / drivers / nv50 / nv50_program.c
index 3653e606ef56c070676b68e996da1bad5d308643..2372cbbef69e17eb2b603f663b154057d0cc2246 100644 (file)
@@ -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));