[Mesa-dev] [PATCH 1/9] tgsi: add tgsi_get_processor_type helper from radeon
Marek Olšák
maraeo at gmail.com
Sun Feb 1 14:09:36 PST 2015
Yes. I think the tests should segfault on most drivers, because they
test something that has never been used before.
Marek
On Sun, Feb 1, 2015 at 9:10 PM, Glenn Kennard <glenn.kennard at gmail.com> wrote:
> 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