Rework of shader constant buffers.
[mesa.git] / src / mesa / pipe / softpipe / sp_quad_stipple.c
index cad1a1400c5a383f2ff3d7f08977c16a9b452f93..cb127095d700c1786a23e204cd56e94b7f6cf7ce 100644 (file)
@@ -3,12 +3,11 @@
  * quad polygon stipple stage
  */
 
-#include "glheader.h"
-#include "imports.h"
 #include "sp_context.h"
 #include "sp_headers.h"
 #include "sp_quad.h"
 #include "pipe/p_defines.h"
+#include "pipe/p_util.h"
 
 
 /**
@@ -19,10 +18,10 @@ stipple_quad(struct quad_stage *qs, struct quad_header *quad)
 {
    if (quad->prim == PRIM_TRI) {
       struct softpipe_context *softpipe = qs->softpipe;
-      const GLint col0 = quad->x0 % 32;
-      const GLint row0 = quad->y0 % 32;
-      const GLuint stipple0 = softpipe->poly_stipple.stipple[row0];
-      const GLuint stipple1 = softpipe->poly_stipple.stipple[row0 + 1];
+      const int col0 = quad->x0 % 32;
+      const int row0 = quad->y0 % 32;
+      const unsigned stipple0 = softpipe->poly_stipple.stipple[row0];
+      const unsigned stipple1 = softpipe->poly_stipple.stipple[row0 + 1];
 
       /* XXX there may be a better way to lay out the stored stipple
        * values to further simplify this computation.
@@ -36,12 +35,20 @@ stipple_quad(struct quad_stage *qs, struct quad_header *quad)
 }
 
 
+static void stipple_begin(struct quad_stage *qs)
+{
+   if (qs->next)
+      qs->next->begin(qs->next);
+}
+
+
 struct quad_stage *
 sp_quad_polygon_stipple_stage( struct softpipe_context *softpipe )
 {
    struct quad_stage *stage = CALLOC_STRUCT(quad_stage);
 
    stage->softpipe = softpipe;
+   stage->begin = stipple_begin;
    stage->run = stipple_quad;
 
    return stage;