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

Dieter Nützel Dieter at nuetzel-hh.de
Mon Mar 20 13:03:12 UTC 2017


Am 20.03.2017 13:43, schrieb Constantine Kharlamov:
> Aah, I see… Should I resend again?

Mhhhmmm,

I think it should be smarter for the committer and I do not have that 
right ;-)
Marek your turn?
Who is the 'man' for older cards?

> 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