diff options
author | Vincent Lejeune <[email protected]> | 2012-09-29 16:49:13 +0200 |
---|---|---|
committer | Vincent Lejeune <[email protected]> | 2012-11-02 23:19:11 +0100 |
commit | 84b437213294ff4e1a3bcae2f9cbb36a9b4955c4 (patch) | |
tree | e6099b2a1ca46059cce2acaef187ccdb58396b8e /src/gallium/drivers/r600/eg_asm.c | |
parent | 1feb6b79ab5d099b7b53d800921e7e8577593a98 (diff) |
r600g: make tgsi-to-llvm generates store.pixel* intrinsic for fs
Reviewed-by: Tom Stellard <thomas.stellard at amd.com>
Diffstat (limited to 'src/gallium/drivers/r600/eg_asm.c')
-rw-r--r-- | src/gallium/drivers/r600/eg_asm.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/gallium/drivers/r600/eg_asm.c b/src/gallium/drivers/r600/eg_asm.c index 310d4242574..70dc94af2ef 100644 --- a/src/gallium/drivers/r600/eg_asm.c +++ b/src/gallium/drivers/r600/eg_asm.c @@ -145,3 +145,20 @@ int eg_bytecode_cf_build(struct r600_bytecode *bc, struct r600_bytecode_cf *cf) } return 0; } + +void eg_bytecode_export_read(struct r600_bytecode_output *output, uint32_t word0, uint32_t word1) +{ + output->array_base = G_SQ_CF_ALLOC_EXPORT_WORD0_ARRAY_BASE(word0); + output->type = G_SQ_CF_ALLOC_EXPORT_WORD0_TYPE(word0); + output->gpr = G_SQ_CF_ALLOC_EXPORT_WORD0_RW_GPR(word0); + output->elem_size = G_SQ_CF_ALLOC_EXPORT_WORD0_ELEM_SIZE(word0); + + output->swizzle_x = G_SQ_CF_ALLOC_EXPORT_WORD1_SWIZ_SEL_X(word1); + output->swizzle_y = G_SQ_CF_ALLOC_EXPORT_WORD1_SWIZ_SEL_Y(word1); + output->swizzle_z = G_SQ_CF_ALLOC_EXPORT_WORD1_SWIZ_SEL_Z(word1); + output->swizzle_w = G_SQ_CF_ALLOC_EXPORT_WORD1_SWIZ_SEL_W(word1); + output->burst_count = G_SQ_CF_ALLOC_EXPORT_WORD1_BURST_COUNT(word1); + output->end_of_program = G_SQ_CF_ALLOC_EXPORT_WORD1_END_OF_PROGRAM(word1); + output->inst = EG_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(G_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(word1)); + output->barrier = G_SQ_CF_ALLOC_EXPORT_WORD1_BARRIER(word1); +} |