summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/softpipe/sp_setup.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/drivers/softpipe/sp_setup.c')
-rw-r--r--src/gallium/drivers/softpipe/sp_setup.c24
1 files changed, 16 insertions, 8 deletions
diff --git a/src/gallium/drivers/softpipe/sp_setup.c b/src/gallium/drivers/softpipe/sp_setup.c
index 813d703108..7df8fc5f67 100644
--- a/src/gallium/drivers/softpipe/sp_setup.c
+++ b/src/gallium/drivers/softpipe/sp_setup.c
@@ -299,13 +299,6 @@ static boolean setup_sort_vertices( struct setup_context *setup,
const float (*v1)[4],
const float (*v2)[4] )
{
-#if DEBUG_VERTS
- debug_printf("Triangle:\n");
- print_vertex(setup, v0);
- print_vertex(setup, v1);
- print_vertex(setup, v2);
-#endif
-
setup->vprovoke = v2;
/* determine bottom to top order of vertices */
@@ -726,6 +719,9 @@ void setup_tri( struct setup_context *setup,
{
float det = calc_det(v0, v1, v2);
+ if (setup->softpipe->no_rast)
+ return;
+
/*
debug_printf("%s\n", __FUNCTION__ );
*/
@@ -735,7 +731,12 @@ void setup_tri( struct setup_context *setup,
setup->numFragsWritten = 0;
#endif
-
+#if DEBUG_VERTS
+ debug_printf("Triangle:\n");
+ print_vertex(setup, v0);
+ print_vertex(setup, v1);
+ print_vertex(setup, v2);
+#endif
if (cull_tri( setup, det ))
return;
@@ -934,6 +935,9 @@ setup_line(struct setup_context *setup,
int dy = y1 - y0;
int xstep, ystep;
+ if (setup->softpipe->no_rast)
+ return;
+
if (dx == 0 && dy == 0)
return;
@@ -1052,6 +1056,10 @@ setup_point( struct setup_context *setup,
const struct vertex_info *vinfo = softpipe_get_vertex_info(softpipe);
uint fragSlot;
+
+ if (softpipe->no_rast)
+ return;
+
/* For points, all interpolants are constant-valued.
* However, for point sprites, we'll need to setup texcoords appropriately.
* XXX: which coefficients are the texcoords???