summaryrefslogtreecommitdiff
path: root/src/mesa/pipe/softpipe/sp_prim_setup.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/pipe/softpipe/sp_prim_setup.c')
-rw-r--r--src/mesa/pipe/softpipe/sp_prim_setup.c22
1 files changed, 17 insertions, 5 deletions
diff --git a/src/mesa/pipe/softpipe/sp_prim_setup.c b/src/mesa/pipe/softpipe/sp_prim_setup.c
index 8ef0fcbf9c..29bb936540 100644
--- a/src/mesa/pipe/softpipe/sp_prim_setup.c
+++ b/src/mesa/pipe/softpipe/sp_prim_setup.c
@@ -36,6 +36,18 @@
#include "sp_tile.h"
+
+/**
+ * Emit/render a quad.
+ * This passes the quad to the first stage of per-fragment operations.
+ */
+static INLINE void
+quad_emit(struct softpipe_context *sp, struct quad_header *quad)
+{
+ sp->quad.first->run(sp->quad.first, quad);
+}
+
+
/**
* Triangle edge info
*/
@@ -121,7 +133,7 @@ static void run_shader_block( struct setup_stage *setup,
setup->quad.y0 = y;
setup->quad.mask = mask;
- quad_shade( setup->stage.softpipe, &setup->quad );
+ quad_emit(setup->stage.softpipe, &setup->quad);
}
@@ -652,7 +664,7 @@ plot(struct setup_stage *setup, GLint x, GLint y)
/* flush prev quad, start new quad */
if (setup->quad.x0 != -1)
- quad_shade(setup->stage.softpipe, &setup->quad);
+ quad_emit(setup->stage.softpipe, &setup->quad);
setup->quad.x0 = quadX;
setup->quad.y0 = quadY;
@@ -755,7 +767,7 @@ setup_line(struct prim_stage *stage, struct prim_header *prim)
/* draw final quad */
if (setup->quad.mask) {
- quad_shade(setup->stage.softpipe, &setup->quad);
+ quad_emit(setup->stage.softpipe, &setup->quad);
}
}
@@ -810,7 +822,7 @@ setup_point(struct prim_stage *stage, struct prim_header *prim)
setup->quad.x0 = x - ix;
setup->quad.y0 = y - iy;
setup->quad.mask = (1 << ix) << (2 * iy);
- quad_shade(setup->stage.softpipe, &setup->quad);
+ quad_emit(setup->stage.softpipe, &setup->quad);
}
else {
const GLint ixmin = block((GLint) (x - halfSize));
@@ -870,7 +882,7 @@ setup_point(struct prim_stage *stage, struct prim_header *prim)
if (setup->quad.mask) {
setup->quad.x0 = ix;
setup->quad.y0 = iy;
- quad_shade( setup->stage.softpipe, &setup->quad );
+ quad_emit( setup->stage.softpipe, &setup->quad );
}
}
}