summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r600/r600_asm.h
diff options
context:
space:
mode:
authorGlenn Kennard <[email protected]>2017-03-05 18:26:50 +0100
committerDave Airlie <[email protected]>2018-02-09 09:53:08 +1000
commit9d31596d7ae8f24b00450a0b0d242dadfb36dfd9 (patch)
tree42e9bb80a2590539f62ba9274550f615ec7f1377 /src/gallium/drivers/r600/r600_asm.h
parent9c48a139b08f223f4ac6e218d19b356bf4a41463 (diff)
r600g: Add pending output function
Spills have to happen after the VLIW bundle currently processed, so defer emitting the spill op. Signed-off-by: Glenn Kennard <[email protected]> Reviewed-by: Dave Airlie <[email protected]>
Diffstat (limited to 'src/gallium/drivers/r600/r600_asm.h')
-rw-r--r--src/gallium/drivers/r600/r600_asm.h4
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 b8abdf014d7..93ac717fb8f 100644
--- a/src/gallium/drivers/r600/r600_asm.h
+++ b/src/gallium/drivers/r600/r600_asm.h
@@ -274,6 +274,8 @@ struct r600_bytecode {
unsigned index_reg[2]; /* indexing register CF_INDEX_[01] */
unsigned debug_id;
struct r600_isa* isa;
+ struct r600_bytecode_output pending_outputs[5];
+ int n_pending_outputs;
};
/* eg_asm.c */
@@ -300,6 +302,8 @@ int r600_bytecode_add_gds(struct r600_bytecode *bc,
const struct r600_bytecode_gds *gds);
int r600_bytecode_add_output(struct r600_bytecode *bc,
const struct r600_bytecode_output *output);
+int r600_bytecode_add_pending_output(struct r600_bytecode *bc,
+ const struct r600_bytecode_output *output);
int r600_bytecode_build(struct r600_bytecode *bc);
int r600_bytecode_add_cf(struct r600_bytecode *bc);
int r600_bytecode_add_cfinst(struct r600_bytecode *bc,