[Mesa-stable] [Mesa-dev] [PATCH] draw: fix incorrect color of flat-shaded clipped lines
Jose Fonseca
jfonseca at vmware.com
Mon Feb 3 11:20:14 PST 2014
----- Original Message -----
> When we clipped a line weren't copying the provoking vertex
> color to the second vertex. We also weren't checking for
> first vs. last provoking vertex.
>
> Fixes failures found with the new piglit line-flat-clip-color test.
>
> Cc: 10.0, 10.1 <mesa-stable at lists.freedesktop.org>
> ---
> src/gallium/auxiliary/draw/draw_pipe_clip.c | 13 ++++++++++++-
> 1 file changed, 12 insertions(+), 1 deletion(-)
>
> diff --git a/src/gallium/auxiliary/draw/draw_pipe_clip.c
> b/src/gallium/auxiliary/draw/draw_pipe_clip.c
> index de354e9..d8b56de 100644
> --- a/src/gallium/auxiliary/draw/draw_pipe_clip.c
> +++ b/src/gallium/auxiliary/draw/draw_pipe_clip.c
> @@ -588,7 +588,12 @@ do_clip_line( struct draw_stage *stage,
>
> if (v0->clipmask) {
> interp( clipper, stage->tmp[0], t0, v0, v1, viewport_index );
> - copy_flat(stage, stage->tmp[0], v0);
> + if (stage->draw->rasterizer->flatshade_first) {
> + copy_flat(stage, stage->tmp[0], v0); /* copy v0 color to tmp[0] */
> + }
> + else {
> + copy_flat(stage, stage->tmp[0], v1); /* copy v1 color to tmp[0] */
> + }
> newprim.v[0] = stage->tmp[0];
> }
> else {
> @@ -597,6 +602,12 @@ do_clip_line( struct draw_stage *stage,
>
> if (v1->clipmask) {
> interp( clipper, stage->tmp[1], t1, v1, v0, viewport_index );
> + if (stage->draw->rasterizer->flatshade_first) {
> + copy_flat(stage, stage->tmp[1], v0); /* copy v0 color to tmp[1] */
> + }
> + else {
> + copy_flat(stage, stage->tmp[1], v1); /* copy v1 color to tmp[1] */
> + }
> newprim.v[1] = stage->tmp[1];
> }
> else {
> --
> 1.7.10.4
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://urldefense.proofpoint.com/v1/url?u=http://lists.freedesktop.org/mailman/listinfo/mesa-dev&k=oIvRg1%2BdGAgOoM1BIlLLqw%3D%3D%0A&r=NMr9uy2iTjWVixC0wOcYCWEIYhfo80qKwRgdodpoDzA%3D%0A&m=JXBgl5uBqvPNX%2BdbIW3nyeyaAE1k%2Fe5i%2BFx%2FJu%2Fujvs%3D%0A&s=23b3fafec3c062f542eff7bdeda679e533c99024a5f2b0708c0ee862c8342ca7
>
Reviewed-by: Jose Fonseca <jfonseca at vmware.com>
More information about the mesa-stable
mailing list