diff options
author | Glenn Kennard <[email protected]> | 2017-03-05 18:26:49 +0100 |
---|---|---|
committer | Dave Airlie <[email protected]> | 2018-02-09 09:52:48 +1000 |
commit | 9c48a139b08f223f4ac6e218d19b356bf4a41463 (patch) | |
tree | e4304278ae6576589490eb03a9112d5e9de293e0 /src/gallium/drivers/r600/r600_asm.h | |
parent | 2a891ed19065dac89e8639800d3c63274d19a97a (diff) |
r600g: Support emitting scratch ops
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.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/gallium/drivers/r600/r600_asm.h b/src/gallium/drivers/r600/r600_asm.h index d7cb64f0b7d..b8abdf014d7 100644 --- a/src/gallium/drivers/r600/r600_asm.h +++ b/src/gallium/drivers/r600/r600_asm.h @@ -116,6 +116,17 @@ struct r600_bytecode_vtx { unsigned offset; unsigned endian; unsigned buffer_index_mode; + + // READ_SCRATCH fields + unsigned uncached; + unsigned indexed; + unsigned src_sel_y; + unsigned src_rel; + unsigned elem_size; + unsigned array_size; + unsigned array_base; + unsigned burst_count; + unsigned dst_rel; }; struct r600_bytecode_gds { @@ -155,6 +166,7 @@ struct r600_bytecode_output { unsigned swizzle_w; unsigned burst_count; unsigned index_gpr; + unsigned mark; /* used by MEM_SCRATCH */ }; struct r600_bytecode_rat { @@ -313,6 +325,9 @@ int r700_bytecode_alu_build(struct r600_bytecode *bc, struct r600_bytecode_alu *alu, unsigned id); void r700_bytecode_alu_read(struct r600_bytecode *bc, struct r600_bytecode_alu *alu, uint32_t word0, uint32_t word1); +int r700_bytecode_fetch_mem_build(struct r600_bytecode *bc, + struct r600_bytecode_vtx *mem, unsigned id); + void r600_bytecode_export_read(struct r600_bytecode *bc, struct r600_bytecode_output *output, uint32_t word0, uint32_t word1); void eg_bytecode_export_read(struct r600_bytecode *bc, |