[Mesa-dev] [PATCH 1/9] tgsi: add tgsi_get_processor_type helper from radeon

Glenn Kennard glenn.kennard at gmail.com
Sun Feb 1 12:10:21 PST 2015


On Sun, 01 Feb 2015 18:15:53 +0100, Marek Olšák <maraeo at gmail.com> wrote:

> From: Marek Olšák <marek.olsak at amd.com>
>
> ---
>  src/gallium/auxiliary/tgsi/tgsi_parse.c       | 12 ++++++++++++
>  src/gallium/auxiliary/tgsi/tgsi_parse.h       |  2 ++
>  src/gallium/drivers/radeon/r600_pipe_common.c | 11 -----------
>  3 files changed, 14 insertions(+), 11 deletions(-)
>
> diff --git a/src/gallium/auxiliary/tgsi/tgsi_parse.c  
> b/src/gallium/auxiliary/tgsi/tgsi_parse.c
> index f2370ed..9cc8383 100644
> --- a/src/gallium/auxiliary/tgsi/tgsi_parse.c
> +++ b/src/gallium/auxiliary/tgsi/tgsi_parse.c
> @@ -315,3 +315,15 @@ tgsi_dump_tokens(const struct tgsi_token *tokens)
>        debug_printf("0x%08x,\n", dwords[i]);
>     debug_printf("};\n");
>  }
> +
> +unsigned
> +tgsi_get_processor_type(const struct tgsi_token *tokens)
> +{
> +   struct tgsi_parse_context parse;
> +
> +   if (tgsi_parse_init( &parse, tokens ) != TGSI_PARSE_OK) {
> +      debug_printf("tgsi_parse_init() failed in %s:%i!\n", __func__,  
> __LINE__);
> +      return ~0;
> +   }
> +   return parse.FullHeader.Processor.Processor;
> +}
> diff --git a/src/gallium/auxiliary/tgsi/tgsi_parse.h  
> b/src/gallium/auxiliary/tgsi/tgsi_parse.h
> index bfcca48..cd4b2af 100644
> --- a/src/gallium/auxiliary/tgsi/tgsi_parse.h
> +++ b/src/gallium/auxiliary/tgsi/tgsi_parse.h
> @@ -153,6 +153,8 @@ tgsi_alloc_tokens(unsigned num_tokens);
>  void
>  tgsi_free_tokens(const struct tgsi_token *tokens);
> +unsigned
> +tgsi_get_processor_type(const struct tgsi_token *tokens);
> #if defined __cplusplus
>  }
> diff --git a/src/gallium/drivers/radeon/r600_pipe_common.c  
> b/src/gallium/drivers/radeon/r600_pipe_common.c
> index ddb4142..ee4cda7 100644
> --- a/src/gallium/drivers/radeon/r600_pipe_common.c
> +++ b/src/gallium/drivers/radeon/r600_pipe_common.c
> @@ -883,17 +883,6 @@ void r600_destroy_common_screen(struct  
> r600_common_screen *rscreen)
>  	FREE(rscreen);
>  }
> -static unsigned tgsi_get_processor_type(const struct tgsi_token *tokens)
> -{
> -	struct tgsi_parse_context parse;
> -
> -	if (tgsi_parse_init( &parse, tokens ) != TGSI_PARSE_OK) {
> -		debug_printf("tgsi_parse_init() failed in %s:%i!\n", __func__,  
> __LINE__);
> -		return ~0;
> -	}
> -	return parse.FullHeader.Processor.Processor;
> -}
> -
>  bool r600_can_dump_shader(struct r600_common_screen *rscreen,
>  			  const struct tgsi_token *tokens)
>  {


null_sampler_view(TGSI_TEXTURE_2D) test case segfaults on R600 (with  
GALLIUM_TESTS=1), which i presume is intentional to expose a bug there. If  
yes, then:

Patches 1-9 are Reviewed-by: Glenn Kennard <glenn.kennard at gmail.com>


More information about the mesa-dev mailing list