Constantine,
you missed my

1/1
Tested-by: Dieter Nützel <die...@nuetzel-hh.de>
1/2
Acked-by: Dieter Nützel <die...@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-an...@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 */
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to