i965: Add brw_WAIT to emit wait instruction
This will be used to implement the barrier function. v2: * Rename to brw_WAIT (mattst88) Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Chris Forbes <chrisf@ijw.co.nz> Reviewed-by: Matt Turner <mattst88@gmail.com>
This commit is contained in:
parent
b925f1a1df
commit
0d250cc210
|
@ -390,6 +390,8 @@ brw_inst *brw_JMPI(struct brw_codegen *p, struct brw_reg index,
|
|||
|
||||
void brw_NOP(struct brw_codegen *p);
|
||||
|
||||
void brw_WAIT(struct brw_codegen *p);
|
||||
|
||||
/* Special case: there is never a destination, execution size will be
|
||||
* taken from src0:
|
||||
*/
|
||||
|
|
|
@ -3406,3 +3406,24 @@ void brw_shader_time_add(struct brw_codegen *p,
|
|||
|
||||
brw_pop_insn_state(p);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Emit the wait instruction for a barrier
|
||||
*/
|
||||
void
|
||||
brw_WAIT(struct brw_codegen *p)
|
||||
{
|
||||
const struct brw_device_info *devinfo = p->devinfo;
|
||||
struct brw_inst *insn;
|
||||
|
||||
struct brw_reg src = brw_notification_reg();
|
||||
|
||||
insn = next_insn(p, BRW_OPCODE_WAIT);
|
||||
brw_set_dest(p, insn, src);
|
||||
brw_set_src0(p, insn, src);
|
||||
brw_set_src1(p, insn, brw_null_reg());
|
||||
|
||||
brw_inst_set_exec_size(devinfo, insn, BRW_EXECUTE_1);
|
||||
brw_inst_set_mask_control(devinfo, insn, BRW_MASK_DISABLE);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue