diff options
author | Vasily Khoruzhick <anarsoul@gmail.com> | 2019-08-18 23:37:23 -0700 |
---|---|---|
committer | Vasily Khoruzhick <anarsoul@gmail.com> | 2019-08-24 08:17:31 -0700 |
commit | 28d4b456a582c1388fc3dde45e98cc97389485dc (patch) | |
tree | 2095737304fb69d3387ab0e3bf718565c16cbfc0 /src/gallium/drivers/lima/ir/pp/ppir.h | |
parent | 1cdf585613da37f23d737ac4713af0484d4a30d7 (diff) | |
download | mesa-28d4b456a582c1388fc3dde45e98cc97389485dc.tar.gz |
lima/ppir: add control flow support
This commit adds support for nir_jump_instr, if and loop
nir_cf_nodes.
Tested-by: Andreas Baierl <ichgeh@imkreisrum.de>
Reviewed-by: Qiang Yu <yuq825@gmail.com>
Reviewed-by: Erico Nunes <nunes.erico@gmail.com>
Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
Diffstat (limited to 'src/gallium/drivers/lima/ir/pp/ppir.h')
-rw-r--r-- | src/gallium/drivers/lima/ir/pp/ppir.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/gallium/drivers/lima/ir/pp/ppir.h b/src/gallium/drivers/lima/ir/pp/ppir.h index db8087ede62..462cd93538a 100644 --- a/src/gallium/drivers/lima/ir/pp/ppir.h +++ b/src/gallium/drivers/lima/ir/pp/ppir.h @@ -369,6 +369,9 @@ typedef struct ppir_compiler { int num_fills; ppir_block *discard_block; + ppir_block *current_block; + ppir_block *loop_break_block; + ppir_block *loop_cont_block; } ppir_compiler; void *ppir_node_create(ppir_block *block, ppir_op op, int index, unsigned mask); @@ -379,6 +382,7 @@ void ppir_node_print_prog(ppir_compiler *comp); void ppir_node_replace_child(ppir_node *parent, ppir_node *old_child, ppir_node *new_child); void ppir_node_replace_all_succ(ppir_node *dst, ppir_node *src); void ppir_node_replace_pred(ppir_dep *dep, ppir_node *new_pred); +ppir_dep *ppir_dep_for_pred(ppir_node *node, ppir_node *pred); ppir_node *ppir_node_clone(ppir_block *block, ppir_node *node); static inline bool ppir_node_is_root(ppir_node *node) |