diff options
author | Dave Airlie <[email protected]> | 2015-11-30 10:07:44 +1000 |
---|---|---|
committer | Dave Airlie <[email protected]> | 2015-12-07 09:58:59 +1000 |
commit | 816bb30245b9e4be78cc24228ada450a425b948d (patch) | |
tree | 40bd41ed2611504a462850e30141e74c7cf7520c /src/gallium/drivers/r600/r600_asm.h | |
parent | fe4eb49df9ee93d9fe97d16149f682a6ebe79d42 (diff) |
r600: add support for LDS instruction encoding.
These are used in tessellation shaders to read/write values
between VS/TCS/TES.
This splits the eg alu assembler out to handle these
instructions.
Signed-off-by: Dave Airlie <[email protected]>
Diffstat (limited to 'src/gallium/drivers/r600/r600_asm.h')
-rw-r--r-- | src/gallium/drivers/r600/r600_asm.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/gallium/drivers/r600/r600_asm.h b/src/gallium/drivers/r600/r600_asm.h index f786bab3d59..0b78290295a 100644 --- a/src/gallium/drivers/r600/r600_asm.h +++ b/src/gallium/drivers/r600/r600_asm.h @@ -52,6 +52,7 @@ struct r600_bytecode_alu { unsigned op; unsigned last; unsigned is_op3; + unsigned is_lds_idx_op; unsigned execute_mask; unsigned update_pred; unsigned pred_sel; @@ -59,6 +60,7 @@ struct r600_bytecode_alu { unsigned bank_swizzle_force; unsigned omod; unsigned index_mode; + unsigned lds_idx; }; struct r600_bytecode_tex { @@ -253,6 +255,8 @@ struct r600_bytecode { int eg_bytecode_cf_build(struct r600_bytecode *bc, struct r600_bytecode_cf *cf); int egcm_load_index_reg(struct r600_bytecode *bc, unsigned id, bool inside_alu_clause); int eg_bytecode_gds_build(struct r600_bytecode *bc, struct r600_bytecode_gds *gds, unsigned id); +int eg_bytecode_alu_build(struct r600_bytecode *bc, + struct r600_bytecode_alu *alu, unsigned id); /* r600_asm.c */ void r600_bytecode_init(struct r600_bytecode *bc, enum chip_class chip_class, |