i965/genX_state: Add register access functions

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
This commit is contained in:
Jordan Justen 2018-11-11 17:46:33 -08:00
parent 06fbcd2cd5
commit 1b85c605a6
No known key found for this signature in database
GPG Key ID: 37F99F68CAF992EB
1 changed files with 31 additions and 0 deletions

View File

@ -197,6 +197,37 @@ KSP(UNUSED struct brw_context *brw, uint32_t offset)
_brw_cmd_pack(cmd)(brw, (void *)_dst, &name), \
_dst = NULL)
#if GEN_GEN >= 7
MAYBE_UNUSED static void
emit_lrm(struct brw_context *brw, uint32_t reg, struct brw_address addr)
{
brw_batch_emit(brw, GENX(MI_LOAD_REGISTER_MEM), lrm) {
lrm.RegisterAddress = reg;
lrm.MemoryAddress = addr;
}
}
#endif
MAYBE_UNUSED static void
emit_lri(struct brw_context *brw, uint32_t reg, uint32_t imm)
{
brw_batch_emit(brw, GENX(MI_LOAD_REGISTER_IMM), lri) {
lri.RegisterOffset = reg;
lri.DataDWord = imm;
}
}
#if GEN_IS_HASWELL || GEN_GEN >= 8
MAYBE_UNUSED static void
emit_lrr(struct brw_context *brw, uint32_t dst, uint32_t src)
{
brw_batch_emit(brw, GENX(MI_LOAD_REGISTER_REG), lrr) {
lrr.SourceRegisterAddress = src;
lrr.DestinationRegisterAddress = dst;
}
}
#endif
/**
* Polygon stipple packet
*/