summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r600
diff options
context:
space:
mode:
authorVincent Lejeune <[email protected]>2012-11-06 16:18:06 +0100
committerTom Stellard <[email protected]>2012-12-13 19:22:10 +0000
commitc7f9fb37eaa4a6849bb427b6096e52eb0daa9925 (patch)
tree2ada3a958dab8b025535c7299045b212939785b0 /src/gallium/drivers/r600
parent60e05d7388b85bdc1d833a7755a81e366ef28dac (diff)
r600g: use load_ar checks with llvm output.
Reviewed-by: Tom Stellard <[email protected]>
Diffstat (limited to 'src/gallium/drivers/r600')
-rw-r--r--src/gallium/drivers/r600/r600_shader.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/gallium/drivers/r600/r600_shader.c b/src/gallium/drivers/r600/r600_shader.c
index 72cb58582f2..102d1c61118 100644
--- a/src/gallium/drivers/r600/r600_shader.c
+++ b/src/gallium/drivers/r600/r600_shader.c
@@ -345,6 +345,12 @@ static unsigned r600_alu_from_byte_stream(struct r600_shader_ctx *ctx,
}
#endif
+ if (alu.inst == CTX_INST(V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MOVA_INT)) {
+ ctx->bc->ar_reg = alu.src[0].sel;
+ ctx->bc->ar_loaded = 0;
+ return bytes_read;
+ }
+
if (alu.execute_mask) {
alu.pred_sel = 0;
r600_bytecode_add_alu_type(ctx->bc, &alu, CTX_INST(V_SQ_CF_ALU_WORD1_SQ_CF_INST_ALU_PUSH_BEFORE));