summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/softpipe/sp_prim_vbuf.c
diff options
context:
space:
mode:
authorKeith Whitwell <keith@tungstengraphics.com>2008-04-14 16:18:00 +0100
committerKeith Whitwell <keith@tungstengraphics.com>2008-04-14 16:18:00 +0100
commit871d39ec8c168fa58d8758013e99da63fa58111d (patch)
treeb57a16a3fe6bd124b9ee350e7d9fb0f0e681a386 /src/gallium/drivers/softpipe/sp_prim_vbuf.c
parent8cbda9f1088718e5dbb97b9a6ddcc43737f94351 (diff)
softpipe: calculate determinant for all triangles, don't rely on draw module to do it
Diffstat (limited to 'src/gallium/drivers/softpipe/sp_prim_vbuf.c')
-rw-r--r--src/gallium/drivers/softpipe/sp_prim_vbuf.c28
1 files changed, 0 insertions, 28 deletions
diff --git a/src/gallium/drivers/softpipe/sp_prim_vbuf.c b/src/gallium/drivers/softpipe/sp_prim_vbuf.c
index 74cd675908..4fed19ecb6 100644
--- a/src/gallium/drivers/softpipe/sp_prim_vbuf.c
+++ b/src/gallium/drivers/softpipe/sp_prim_vbuf.c
@@ -119,25 +119,6 @@ sp_vbuf_set_primitive(struct vbuf_render *vbr, unsigned prim)
}
-/**
- * Recalculate prim's determinant. This is needed as we don't have
- * get this information through the vbuf_render interface & we must
- * calculate it here.
- */
-static float
-calc_det( const float (*v0)[4],
- const float (*v1)[4],
- const float (*v2)[4] )
-{
- /* edge vectors e = v0 - v2, f = v1 - v2 */
- const float ex = v0[0][0] - v2[0][0];
- const float ey = v0[0][1] - v2[0][1];
- const float fx = v1[0][0] - v2[0][0];
- const float fy = v1[0][1] - v2[0][1];
-
- /* det = cross(e,f).z */
- return ex * fy - ey * fx;
-}
static void
@@ -169,7 +150,6 @@ sp_vbuf_draw(struct vbuf_render *vbr, const ushort *indices, uint nr_indices)
indices[i+j] * vertex_size);
setup_tri( setup_ctx,
- calc_det(v[0], v[1], v[2]),
v[0],
v[1],
v[2]);
@@ -254,7 +234,6 @@ sp_vbuf_draw_arrays(struct vbuf_render *vbr, uint start, uint nr)
v[1] = VERTEX(i + 1);
v[2] = VERTEX(i + 2);
setup_tri( setup_ctx,
- calc_det(v[0], v[1], v[2]),
v[0],
v[1],
v[2] );
@@ -267,7 +246,6 @@ sp_vbuf_draw_arrays(struct vbuf_render *vbr, uint start, uint nr)
v[1] = VERTEX(i - 1);
v[2] = VERTEX(i);
setup_tri( setup_ctx,
- calc_det(v[0], v[1], v[2]),
v[0],
v[1],
v[2] );
@@ -280,7 +258,6 @@ sp_vbuf_draw_arrays(struct vbuf_render *vbr, uint start, uint nr)
v[1] = VERTEX(i - 1);
v[2] = VERTEX(i);
setup_tri( setup_ctx,
- calc_det(v[0], v[1], v[2]),
v[0],
v[1],
v[2] );
@@ -293,7 +270,6 @@ sp_vbuf_draw_arrays(struct vbuf_render *vbr, uint start, uint nr)
v[1] = VERTEX(i + 1);
v[2] = VERTEX(i + 2);
setup_tri( setup_ctx,
- calc_det(v[0], v[1], v[2]),
v[0],
v[1],
v[2] );
@@ -302,7 +278,6 @@ sp_vbuf_draw_arrays(struct vbuf_render *vbr, uint start, uint nr)
v[1] = VERTEX(i + 2);
v[2] = VERTEX(i + 3);
setup_tri( setup_ctx,
- calc_det(v[0], v[1], v[2]),
v[0],
v[1],
v[2] );
@@ -315,7 +290,6 @@ sp_vbuf_draw_arrays(struct vbuf_render *vbr, uint start, uint nr)
v[1] = VERTEX(i);
v[2] = VERTEX(i + 1);
setup_tri( setup_ctx,
- calc_det(v[0], v[1], v[2]),
v[0],
v[1],
v[2] );
@@ -324,7 +298,6 @@ sp_vbuf_draw_arrays(struct vbuf_render *vbr, uint start, uint nr)
v[1] = VERTEX(i + 1);
v[2] = VERTEX(i - 1);
setup_tri( setup_ctx,
- calc_det(v[0], v[1], v[2]),
v[0],
v[1],
v[2] );
@@ -337,7 +310,6 @@ sp_vbuf_draw_arrays(struct vbuf_render *vbr, uint start, uint nr)
v[1] = VERTEX(i - 1);
v[2] = VERTEX(i);
setup_tri( setup_ctx,
- calc_det(v[0], v[1], v[2]),
v[0],
v[1],
v[2] );