diff options
author | Chris Forbes <[email protected]> | 2014-09-07 19:24:15 +1200 |
---|---|---|
committer | Jordan Justen <[email protected]> | 2015-06-12 15:12:39 -0700 |
commit | e7f628c2fc5ef42672e3281e224226c3d47b1bac (patch) | |
tree | b997789e7f662e37ac6b89ca220275cc31244984 /src/glsl/ir.h | |
parent | 86b4acb409a2103d6a12f83de7ec04af6cc05fec (diff) |
glsl: Add ir node for barrier
v2:
* Changes suggested by mattst88
[[email protected]: Add nir support]
Signed-off-by: Jordan Justen <[email protected]>
Reviewed-by: Ben Widawsky <[email protected]>
Diffstat (limited to 'src/glsl/ir.h')
-rw-r--r-- | src/glsl/ir.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/glsl/ir.h b/src/glsl/ir.h index fab1cd2d291..f9045553501 100644 --- a/src/glsl/ir.h +++ b/src/glsl/ir.h @@ -78,6 +78,7 @@ enum ir_node_type { ir_type_discard, ir_type_emit_vertex, ir_type_end_primitive, + ir_type_barrier, ir_type_max, /**< maximum ir_type enum number, for validation */ ir_type_unset = ir_type_max }; @@ -2396,6 +2397,29 @@ public: ir_rvalue *stream; }; +/** + * IR instruction for tessellation control and compute shader barrier. + */ +class ir_barrier : public ir_instruction { +public: + ir_barrier() + : ir_instruction(ir_type_barrier) + { + } + + virtual void accept(ir_visitor *v) + { + v->visit(this); + } + + virtual ir_barrier *clone(void *mem_ctx, struct hash_table *) const + { + return new(mem_ctx) ir_barrier(); + } + + virtual ir_visitor_status accept(ir_hierarchical_visitor *); +}; + /*@}*/ /** |