third_party/cairo/src/drm/cairo-drm-intel-brw-eu-emit.c
void brw_urb_WRITE(struct brw_compile *p,
		   struct brw_reg dest,
		   uint32_t msg_reg_nr,
		   struct brw_reg src0,
		   int allocate,
		   int used,
		   uint32_t msg_length,
		   uint32_t response_length,
		   int eot,
		   int writes_complete,
		   uint32_t offset,
		   uint32_t swizzle)
{
    struct brw_instruction *insn = brw_next_instruction(p, BRW_OPCODE_SEND);

    assert(msg_length < 16);

    brw_instruction_set_destination (insn, dest);
    brw_instruction_set_source0 (insn, src0);
    brw_set_src1 (insn, brw_imm_d (0));

    insn->header.destreg__conditonalmod = msg_reg_nr;

    brw_set_urb_message (insn,
			 allocate,
			 used,
			 msg_length,
			 response_length,
			 eot,
			 writes_complete,
			 offset,
			 swizzle);
}
/* All these variables are pretty confusing - we might be better off
 * using bitmasks and macros for this, in the old style.  Or perhaps
 * just having the caller instantiate the fields in dword3 itself.
 */
All these variables are pretty confusing - we might be better off
using bitmasks and macros for this, in the old style.  Or perhaps
just having the caller instantiate the fields in dword3 itself.
All these variables are pretty confusing - we might be better off using bitmasks and macros for this in the old style . Or perhaps just having the caller instantiate the fields in dword3 itself .
void brw_urb_WRITE(struct brw_compile *p,
		   struct brw_reg dest,
		   uint32_t msg_reg_nr,
		   struct brw_reg src0,
		   int allocate,
		   int used,
		   uint32_t msg_length,
		   uint32_t response_length,
		   int eot,
		   int writes_complete,
		   uint32_t offset,
		   uint32_t swizzle)
{
    struct brw_instruction *insn = brw_next_instruction(p, BRW_OPCODE_SEND);
    assert(msg_length < 16);
    brw_instruction_set_destination (insn, dest);
    brw_instruction_set_source0 (insn, src0);
    brw_set_src1 (insn, brw_imm_d (0));
    insn->header.destreg__conditonalmod = msg_reg_nr;
    brw_set_urb_message (insn,
			 allocate,
			 used,
			 msg_length,
			 response_length,
			 eot,
			 writes_complete,
			 offset,
			 swizzle);
}
void brw_urb_WRITE ( struct brw_compile * p , struct brw_reg dest , uint32_t msg_reg_nr , struct brw_reg src0 , int allocate , int used , uint32_t msg_length , uint32_t response_length , int eot , int writes_complete , uint32_t offset , uint32_t swizzle ) { struct brw_instruction * insn = brw_next_instruction ( p , BRW_OPCODE_SEND ) ; assert ( msg_length < 16 ) ; brw_instruction_set_destination ( insn , dest ) ; brw_instruction_set_source0 ( insn , src0 ) ; brw_set_src1 ( insn , brw_imm_d ( 0 ) ) ; insn -> header . destreg__conditonalmod = msg_reg_nr ; brw_set_urb_message ( insn , allocate , used , msg_length , response_length , eot , writes_complete , offset , swizzle ) ; }
All these variables are pretty confusing - we might be better off
 using bitmasks and macros for this, in the old style.
All these variables are pretty confusing - we might be better off using bitmasks and macros for this in the old style .