llvmpipe: Change triangle rasterization comparison from < 0 to <= 0
Tested with custom rasterisation test tool added to piglit suite, reduced errors Signed-off-by: José Fonseca <jfonseca@vmware.com>
This commit is contained in:
parent
60e7b08101
commit
0c8a8a35e1
|
@ -290,6 +290,10 @@ lp_rast_triangle_3_16(struct lp_rasterizer_task *task,
|
|||
c = _mm_add_epi32(c, mm_mullo_epi32(dcdy, _mm_set1_epi32(y)));
|
||||
rej4 = _mm_slli_epi32(rej4, 2);
|
||||
|
||||
/* Adjust so we can just check the sign bit (< 0 comparison), instead of having to do a less efficient <= 0 comparison */
|
||||
c = _mm_sub_epi32(c, _mm_set1_epi32(1));
|
||||
rej4 = _mm_add_epi32(rej4, _mm_set1_epi32(1));
|
||||
|
||||
dcdx2 = _mm_add_epi32(dcdx, dcdx);
|
||||
dcdx3 = _mm_add_epi32(dcdx2, dcdx);
|
||||
|
||||
|
@ -394,6 +398,9 @@ lp_rast_triangle_3_4(struct lp_rasterizer_task *task,
|
|||
c = _mm_add_epi32(c, mm_mullo_epi32(dcdx, _mm_set1_epi32(x)));
|
||||
c = _mm_add_epi32(c, mm_mullo_epi32(dcdy, _mm_set1_epi32(y)));
|
||||
|
||||
/* Adjust so we can just check the sign bit (< 0 comparison), instead of having to do a less efficient <= 0 comparison */
|
||||
c = _mm_sub_epi32(c, _mm_set1_epi32(1));
|
||||
|
||||
dcdx2 = _mm_add_epi32(dcdx, dcdx);
|
||||
dcdx3 = _mm_add_epi32(dcdx2, dcdx);
|
||||
|
||||
|
|
Loading…
Reference in New Issue