summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/mesa/pipe/draw/draw_cull.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/mesa/pipe/draw/draw_cull.c b/src/mesa/pipe/draw/draw_cull.c
index e7343cfd765..b6c578b3c94 100644
--- a/src/mesa/pipe/draw/draw_cull.c
+++ b/src/mesa/pipe/draw/draw_cull.c
@@ -64,19 +64,19 @@ static void cull_tri( struct prim_stage *stage,
struct prim_header *header )
{
/* Window coords: */
- GLfloat *v0 = (GLfloat *)&(header->v[0]->data[0]);
- GLfloat *v1 = (GLfloat *)&(header->v[1]->data[0]);
- GLfloat *v2 = (GLfloat *)&(header->v[2]->data[0]);
+ const GLfloat *v0 = header->v[0]->data[0];
+ const GLfloat *v1 = header->v[1]->data[0];
+ const GLfloat *v2 = header->v[2]->data[0];
+ /* edge vectors e = v0 - v2, f = v1 - v2 */
GLfloat ex = v0[0] - v2[0];
GLfloat ey = v0[1] - v2[1];
GLfloat fx = v1[0] - v2[0];
GLfloat fy = v1[1] - v2[1];
+ /* det = cross(e,f).z */
header->det = ex * fy - ey * fx;
- _mesa_printf("%s %f\n", __FUNCTION__, header->det );
-
if (header->det != 0) {
/* non-zero area */
GLuint mode = (header->det < 0) ? PIPE_WINDING_CW : PIPE_WINDING_CCW;