diff options
Diffstat (limited to 'src/gallium/drivers/r600/r600_shader.c')
-rw-r--r-- | src/gallium/drivers/r600/r600_shader.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/gallium/drivers/r600/r600_shader.c b/src/gallium/drivers/r600/r600_shader.c index ed95f4cdff3..dfaff832e76 100644 --- a/src/gallium/drivers/r600/r600_shader.c +++ b/src/gallium/drivers/r600/r600_shader.c @@ -310,7 +310,7 @@ static unsigned r600_alu_from_byte_stream(struct r600_shader_ctx *ctx, alu.inst = inst0 | (inst1 << 8); alu.last = bytes[bytes_read++]; alu.is_op3 = bytes[bytes_read++]; - alu.predicate = bytes[bytes_read++]; + alu.pred_sel = bytes[bytes_read++]; alu.bank_swizzle = bytes[bytes_read++]; alu.bank_swizzle_force = bytes[bytes_read++]; alu.omod = bytes[bytes_read++]; @@ -330,7 +330,8 @@ static void llvm_if(struct r600_shader_ctx *ctx, struct r600_bytecode_alu * alu, unsigned pred_inst) { alu->inst = pred_inst; - alu->predicate = 1; + alu->execute_mask = 1; + alu->update_pred = 1; alu->dst.write = 0; alu->src[1].sel = V_SQ_ALU_SRC_0; alu->src[1].chan = 0; @@ -4854,7 +4855,8 @@ static int emit_logic_pred(struct r600_shader_ctx *ctx, int opcode) memset(&alu, 0, sizeof(struct r600_bytecode_alu)); alu.inst = opcode; - alu.predicate = 1; + alu.execute_mask = 1; + alu.update_pred = 1; alu.dst.sel = ctx->temp_reg; alu.dst.write = 1; |