[Mesa-dev] [PATCH v2 1/2] r600g: make condition clearer

Constantine Kharlamov Hi-Angel at yandex.ru
Mon Mar 20 12:43:04 UTC 2017


Aah, I see… Should I resend again?

On 20.03.2017 15:40, Dieter Nützel wrote:
> Constantine,
> you missed my
> 
> 1/1
> Tested-by: Dieter Nützel <Dieter at nuetzel-hh.de>
> 1/2
> Acked-by: Dieter Nützel <Dieter at nuetzel-hh.de>
> 
> they should be appended under your Signed-off-by during resend/rebase.
> 
> Anyway, looks good.
> Dieter
> 
> PS ...Dieter's comment... is enough ;-)
> 
> Am 20.03.2017 13:19, schrieb Constantine Kharlamov:
>> The second check in the old code looked pretty much unreachable, esp.
>> because it's not obvious that "max_entries" could be zero. To find out
>> that it was intentional I had to run some checks, and to dig into
>> the old versions of the file.
>>
>> So, rewrite the check to make the intention clear.
>>
>> v2: s/r600/r600g in the title, and per Dieter Nützel's comment wrap
>> lines of condition.
>>
>> Signed-off-by: Constantine Kharlamov <Hi-Angel at yandex.ru>
>> ---
>>  src/gallium/drivers/r600/r600_asm.c | 14 ++++++++------
>>  1 file changed, 8 insertions(+), 6 deletions(-)
>>
>> diff --git a/src/gallium/drivers/r600/r600_asm.c
>> b/src/gallium/drivers/r600/r600_asm.c
>> index f85993d451..3dcbde0fe5 100644
>> --- a/src/gallium/drivers/r600/r600_asm.c
>> +++ b/src/gallium/drivers/r600/r600_asm.c
>> @@ -315,7 +315,7 @@ static int is_alu_any_unit_inst(struct
>> r600_bytecode *bc, struct r600_bytecode_a
>>  static int is_nop_inst(struct r600_bytecode *bc, struct r600_bytecode_alu *alu)
>>  {
>>      return alu->op == ALU_OP0_NOP;
>> -}
>> +}
>>
>>  static int assign_alu_units(struct r600_bytecode *bc, struct
>> r600_bytecode_alu *alu_first,
>>                  struct r600_bytecode_alu *assignment[5])
>> @@ -1688,11 +1688,13 @@ int r600_bytecode_build(struct r600_bytecode *bc)
>>      unsigned addr;
>>      int i, r;
>>
>> -    if (!bc->nstack) // If not 0, Stack_size already provided by llvm
>> -        bc->nstack = bc->stack.max_entries;
>> -
>> -    if ((bc->type == PIPE_SHADER_VERTEX || bc->type ==
>> PIPE_SHADER_TESS_EVAL || bc->type == PIPE_SHADER_TESS_CTRL) &&
>> !bc->nstack) {
>> -        bc->nstack = 1;
>> +    if (!bc->nstack) { // If not 0, Stack_size already provided by llvm
>> +        if (bc->stack.max_entries)
>> +            bc->nstack = bc->stack.max_entries;
>> +        else if (bc->type == PIPE_SHADER_VERTEX ||
>> +             bc->type == PIPE_SHADER_TESS_EVAL ||
>> +             bc->type == PIPE_SHADER_TESS_CTRL)
>> +            bc->nstack = 1;
>>      }
>>
>>      /* first path compute addr of each CF block */


More information about the mesa-dev mailing list