[Mesa-dev] [PATCH] util/u_pstipple.c: copy immediates during transformation

Jose Fonseca jfonseca at vmware.com
Mon Jan 18 14:54:43 PST 2016


On 18/01/16 20:28, Nicolai Hähnle wrote:
> From: Nicolai Hähnle <nicolai.haehnle at amd.com>
>
> Apparently, nobody has combined stippling with a fragment shader
> containing immediates in almost five years...
>
> Fixes a bug in Kodi with radeonsi reported by Christian König.

Good find.

I don't know how to interpret this: if the fact it wasn't caught for so 
long corroborates the fact that nobody mixes legacy and new OpenGL, or 
if the fact it was found proves people do mix it!

One thing is sure, we don't really have much test coverage of it, as 
most of our piglit tests tend to aim to the minimum GL a feature was 
introduced, hence rarely cover interactions between older and newer 
features.

> Cc: "11.0 11.1" <mesa-stable at lists.freedesktop.org>
> Tested-by: Christian König <christian.koenig at amd.com>
> Reviewed-by: Marek Olšák <marek.olsak at amd.com>
> ---
>   src/gallium/auxiliary/util/u_pstipple.c | 1 +
>   1 file changed, 1 insertion(+)
>
> diff --git a/src/gallium/auxiliary/util/u_pstipple.c b/src/gallium/auxiliary/util/u_pstipple.c
> index 08dec13..3428172 100644
> --- a/src/gallium/auxiliary/util/u_pstipple.c
> +++ b/src/gallium/auxiliary/util/u_pstipple.c
> @@ -230,6 +230,7 @@ pstip_transform_immed(struct tgsi_transform_context *ctx,
>      struct pstip_transform_context *pctx =
>         (struct pstip_transform_context *) ctx;
>      pctx->numImmed++;
> +   ctx->emit_immediate(ctx, immed);
>   }
>

Ironically, this was fixed in 
src/gallium/auxiliary/draw/draw_pipe_pstipple.c by Brian in 
7f16246acef4089570abca76a59580691ec6cf68


I think we should compare and see if there's been anything else that 
diverged in this files that should be crossported.

Or alternatively, see if there's some way we could have the code once 
(e.g, have draw call u_pstipple.c?  Or force all drivers that use draw 
to also use u_pstipple?)


BTW, maybe it would be better to move the emit_immediate() call one line 
up, so it lines up with draw_pipe_pstipple.c.

Otherwise,

Reviewed-by: Jose Fonseca <jfonseca at vmware.com>



More information about the mesa-dev mailing list