aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/llvmpipe/lp_setup_context.h
diff options
context:
space:
mode:
authorBrian Paul <[email protected]>2013-03-25 22:02:47 -0600
committerBrian Paul <[email protected]>2013-04-01 08:40:35 -0600
commit1165ff1af1853c9f1156221e1225ed5fb92a4507 (patch)
treeade105268a8770762a507d38af4f1feed18c8427 /src/gallium/drivers/llvmpipe/lp_setup_context.h
parent95df2b28831147b3e7ce2a3b6257bf60c46b4ab4 (diff)
llvmpipe: use triangle subdivision to avoid fixed-point overflow issues
If we're drawing to a surface that's 2048 x 2048 pixels or larger there's danger of fixed-point overflow in the triangle rasterization code. That leads to various rendering glitches. Rather than implement some intricate changes to the rasterization code, simply subdivide triangles into smaller subtriangles to avoid the issue. Only do this when the drawing surface is larger than 2048 by 2048. Reviewed-by: José Fonseca <[email protected]>
Diffstat (limited to 'src/gallium/drivers/llvmpipe/lp_setup_context.h')
-rw-r--r--src/gallium/drivers/llvmpipe/lp_setup_context.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/gallium/drivers/llvmpipe/lp_setup_context.h b/src/gallium/drivers/llvmpipe/lp_setup_context.h
index 0e2de648a91..b72831bf0e4 100644
--- a/src/gallium/drivers/llvmpipe/lp_setup_context.h
+++ b/src/gallium/drivers/llvmpipe/lp_setup_context.h
@@ -91,6 +91,7 @@ struct lp_setup_context
struct lp_fence *last_fence;
struct llvmpipe_query *active_query[PIPE_QUERY_TYPES];
+ boolean subdivide_large_triangles;
boolean flatshade_first;
boolean ccw_is_frontface;
boolean scissor_test;