[Mesa-dev] [PATCH] spirv: avoid infinite loop / freeze in vtn_cfg_walk_blocks()

Jason Ekstrand jason at jlekstrand.net
Thu Dec 21 19:44:18 UTC 2017


Rb


On December 21, 2017 08:05:24 Lionel Landwerlin 
<lionel.g.landwerlin at intel.com> wrote:

> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
>
> On 21/12/17 13:53, Eero Tamminen wrote:
>> Fixes: 9702fac68e (spirv: consider bitsize when handling OpSwitch cases)
>> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104359
>> ---
>>  src/compiler/spirv/vtn_cfg.c | 14 +++++++-------
>>  1 file changed, 7 insertions(+), 7 deletions(-)
>>
>> diff --git a/src/compiler/spirv/vtn_cfg.c b/src/compiler/spirv/vtn_cfg.c
>> index 9c4cbe2..3d5de37 100644
>> --- a/src/compiler/spirv/vtn_cfg.c
>> +++ b/src/compiler/spirv/vtn_cfg.c
>> @@ -549,19 +549,19 @@ vtn_cfg_walk_blocks(struct vtn_builder *b,
>> struct list_head *cf_list,
>>              struct vtn_block *case_block =
>>                 vtn_value(b, *w, vtn_value_type_block)->block;
>>
>> -            if (case_block == break_block)
>> -               continue;
>> -
>> -            vtn_assert(case_block->switch_case);
>> -
>> -            vtn_order_case(swtch, case_block->switch_case);
>> -
>>              if (bitsize <= 32) {
>>                 w += 2;
>>              } else {
>>                 assert(bitsize == 64);
>>                 w += 3;
>>              }
>> +
>> +            if (case_block == break_block)
>> +               continue;
>> +
>> +            vtn_assert(case_block->switch_case);
>> +
>> +            vtn_order_case(swtch, case_block->switch_case);
>>           }
>>
>>           enum vtn_branch_type branch_type =
>> --
>> 2.7.4
>> _______________________________________________
>> mesa-dev mailing list
>> mesa-dev at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev




More information about the mesa-dev mailing list