mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-02-01 04:40:22 +01:00
nv50/ir/gk110: add memory barriers support for GK110
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
This commit is contained in:
parent
c672bf3b04
commit
8482763d35
1 changed files with 12 additions and 0 deletions
|
|
@ -75,6 +75,7 @@ private:
|
|||
void emitLOAD(const Instruction *);
|
||||
void emitSTORE(const Instruction *);
|
||||
void emitMOV(const Instruction *);
|
||||
void emitMEMBAR(const Instruction *);
|
||||
|
||||
void emitINTERP(const Instruction *);
|
||||
void emitAFETCH(const Instruction *);
|
||||
|
|
@ -1687,6 +1688,14 @@ CodeEmitterGK110::emitMOV(const Instruction *i)
|
|||
}
|
||||
}
|
||||
|
||||
void CodeEmitterGK110::emitMEMBAR(const Instruction *i)
|
||||
{
|
||||
code[0] = 0x00000002 | NV50_IR_SUBOP_MEMBAR_SCOPE(i->subOp) << 8;
|
||||
code[1] = 0x7cc00000;
|
||||
|
||||
emitPredicate(i);
|
||||
}
|
||||
|
||||
bool
|
||||
CodeEmitterGK110::emitInstruction(Instruction *insn)
|
||||
{
|
||||
|
|
@ -1918,6 +1927,9 @@ CodeEmitterGK110::emitInstruction(Instruction *insn)
|
|||
case OP_BAR:
|
||||
emitBAR(insn);
|
||||
break;
|
||||
case OP_MEMBAR:
|
||||
emitMEMBAR(insn);
|
||||
break;
|
||||
case OP_PHI:
|
||||
case OP_UNION:
|
||||
case OP_CONSTRAINT:
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue