diff options
author | Roland Scheidegger <[email protected]> | 2017-06-23 19:35:50 +0200 |
---|---|---|
committer | Roland Scheidegger <[email protected]> | 2017-06-23 19:39:29 +0200 |
commit | c7688d2de5bb0861965e6e7b76a396ab6eec253f (patch) | |
tree | 249bae051093db2dc686917d2688fbae8f27f36c /src/gallium/drivers/llvmpipe/lp_setup_point.c | |
parent | 672d245ffe85e85afe6ddd36868c145bb528c79b (diff) |
llvmpipe:fix using 32bit rasterization mistakenly, causing overflows
We use the bounding box (triangle extents) to figure out if 32bit rasterization
could potentially overflow. However, we used the bounding box which already got
rounded up to 0 for negative coords for this, which is incorrect, leading to
overflows and hence bogus rendering in some of our private use.
It might be possible to simplify this somehow (we're now using 3 different
boxes for binning) but I don't quite see how.
Reviewed-by: Brian Paul <[email protected]>
Reviewed-by: Jose Fonseca <[email protected]>
Diffstat (limited to 'src/gallium/drivers/llvmpipe/lp_setup_point.c')
-rw-r--r-- | src/gallium/drivers/llvmpipe/lp_setup_point.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/gallium/drivers/llvmpipe/lp_setup_point.c b/src/gallium/drivers/llvmpipe/lp_setup_point.c index ddb6f0e73b0..8cb6b83f916 100644 --- a/src/gallium/drivers/llvmpipe/lp_setup_point.c +++ b/src/gallium/drivers/llvmpipe/lp_setup_point.c @@ -513,7 +513,7 @@ try_setup_point( struct lp_setup_context *setup, plane[3].eo = 0; } - return lp_setup_bin_triangle(setup, point, &bbox, nr_planes, viewport_index); + return lp_setup_bin_triangle(setup, point, &bbox, &bbox, nr_planes, viewport_index); } |