diff options
author | Brian Paul <[email protected]> | 2013-03-25 22:02:47 -0600 |
---|---|---|
committer | Brian Paul <[email protected]> | 2013-04-01 08:40:35 -0600 |
commit | 1165ff1af1853c9f1156221e1225ed5fb92a4507 (patch) | |
tree | ade105268a8770762a507d38af4f1feed18c8427 /src/gallium/drivers/llvmpipe/lp_setup_context.h | |
parent | 95df2b28831147b3e7ce2a3b6257bf60c46b4ab4 (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.h | 1 |
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; |