summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Airlie <airlied@nx6125b.(none)>2007-06-21 15:07:31 +1000
committerDave Airlie <airlied@nx6125b.(none)>2007-06-21 15:07:31 +1000
commitfaab84cfa6576a166c93d92e3faf3f3582a3a4bd (patch)
treea3cf449e68951372e444693989db7d20296315f9
parentd3ef71166d032d1f77f0d83eaca76fbf612ac79c (diff)
fix unfilled tris/quads
-rw-r--r--src/mesa/drivers/dri/r300/r300_swtcl.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/mesa/drivers/dri/r300/r300_swtcl.c b/src/mesa/drivers/dri/r300/r300_swtcl.c
index dfa02f9523..97f1583abd 100644
--- a/src/mesa/drivers/dri/r300/r300_swtcl.c
+++ b/src/mesa/drivers/dri/r300/r300_swtcl.c
@@ -699,7 +699,8 @@ static void r300RenderStart(GLcontext *ctx)
drm_radeon_cmd_header_t *cmd = NULL;
// fprintf(stderr, "%s\n", __FUNCTION__);
-
+
+ r300ChooseRenderState(ctx);
r300SetVertexFormat(ctx);
r300UpdateShaderStates(rmesa);
@@ -745,8 +746,11 @@ static void r300RenderPrimitive(GLcontext *ctx, GLenum prim)
r300ContextPtr rmesa = R300_CONTEXT(ctx);
rmesa->swtcl.render_primitive = prim;
- if (prim < GL_TRIANGLES || !(ctx->_TriangleCaps & DD_TRI_UNFILLED))
- r300RasterPrimitive( ctx, reduced_prim[prim] );
+
+ if ((prim == GL_TRIANGLES) && (ctx->_TriangleCaps & DD_TRI_UNFILLED))
+ return;
+
+ r300RasterPrimitive( ctx, reduced_prim[prim] );
// fprintf(stderr, "%s\n", __FUNCTION__);
}