struct r600_bytecode_gds gds;
/* The instruction writes to the retuen buffer loaction, and
- * the value will actually be read bach, so make sure all previous writes
+ * the value will actually be read back, so make sure all previous writes
* have been finished */
if (m_ack_suggested /*&& instr.has_instr_flag(Instr::ack_rat_return_write)*/)
emit_wait_ack();
void AssamblerVisitor::emit_loop_end()
{
+ if (m_ack_suggested) {
+ emit_wait_ack();
+ m_ack_suggested = false;
+ }
+
r600_bytecode_add_cfinst(m_bc, CF_OP_LOOP_END);
m_callstack.pop(FC_LOOP);
assert(m_loop_nesting);
auto store = new RatInstr(op, RatInstr::STORE_TYPED, value, coord, imageid,
image_offset, 1, 0xf, 0);
- if (nir_intrinsic_has_access(intrin) & ACCESS_COHERENT)
- store->set_ack();
+ store->set_ack();
shader.emit_instruction(store);
return true;
}