summaryrefslogtreecommitdiffstats
path: root/src/mesa/swrast/s_pointtemp.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/swrast/s_pointtemp.h')
-rw-r--r--src/mesa/swrast/s_pointtemp.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/mesa/swrast/s_pointtemp.h b/src/mesa/swrast/s_pointtemp.h
index de940b355c9..3735e89f105 100644
--- a/src/mesa/swrast/s_pointtemp.h
+++ b/src/mesa/swrast/s_pointtemp.h
@@ -220,6 +220,21 @@ NAME ( GLcontext *ctx, const SWvertex *vert )
count = span->end;
(void) radius;
for (y = ymin; y <= ymax; y++) {
+ /* check if we need to flush */
+ if (count + (xmax-xmin+1) >= MAX_WIDTH) {
+ span->end = count;
+#if FLAGS & (TEXTURE | SPRITE)
+ if (ctx->Texture._EnabledUnits)
+ _swrast_write_texture_span(ctx, span);
+ else
+ _swrast_write_rgba_span(ctx, span);
+#elif FLAGS & RGBA
+ _swrast_write_rgba_span(ctx, span);
+#else
+ _swrast_write_index_span(ctx, span);
+#endif
+ count = span->end = 0;
+ }
for (x = xmin; x <= xmax; x++) {
#if FLAGS & (SPRITE | TEXTURE)
GLuint u;