[Mesa-dev] [PATCH] tgsi/ureg: return correct token count in ureg_get_tokens

Timothy Arceri tarceri at itsqueeze.com
Thu Mar 2 23:13:48 UTC 2017


Thanks!

Reviewed-by: Timothy Arceri <tarceri at itsqueeze.com>

On 03/03/17 09:46, Grazvydas Ignotas wrote:
> Valgrind reports that the shader cache writes uninitialized data to disk.
> Turns out ureg_get_tokens() is returning the count of allocated tokens
> instead of how many are actually used, so the cache writes out unused
> space at the end. Use the real count instead.
>
> This change should not cause regressions elsewhere because the only
> ureg_get_tokens() user that cares about token count is the shader cache.
>
> Cc: Timothy Arceri <tarceri at itsqueeze.com>
> Signed-off-by: Grazvydas Ignotas <notasas at gmail.com>
> ---
> no commit access
>
>  src/gallium/auxiliary/tgsi/tgsi_ureg.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/src/gallium/auxiliary/tgsi/tgsi_ureg.c b/src/gallium/auxiliary/tgsi/tgsi_ureg.c
> index 8d1b6cc..ab0a3eb 100644
> --- a/src/gallium/auxiliary/tgsi/tgsi_ureg.c
> +++ b/src/gallium/auxiliary/tgsi/tgsi_ureg.c
> @@ -2141,7 +2141,7 @@ const struct tgsi_token *ureg_get_tokens( struct ureg_program *ureg,
>     tokens = &ureg->domain[DOMAIN_DECL].tokens[0].token;
>
>     if (nr_tokens)
> -      *nr_tokens = ureg->domain[DOMAIN_DECL].size;
> +      *nr_tokens = ureg->domain[DOMAIN_DECL].count;
>
>     ureg->domain[DOMAIN_DECL].tokens = 0;
>     ureg->domain[DOMAIN_DECL].size = 0;
>


More information about the mesa-dev mailing list