mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-02 07:58:07 +02:00
tgsi: Implement BREAKC in interpreter.
This commit is contained in:
parent
f069e45750
commit
79bb3da4d3
1 changed files with 19 additions and 0 deletions
|
|
@ -3246,6 +3246,25 @@ exec_instruction(
|
|||
case TGSI_OPCODE_NOP:
|
||||
break;
|
||||
|
||||
case TGSI_OPCODE_BREAKC:
|
||||
FETCH(&r[0], 0, CHAN_X);
|
||||
/* update CondMask */
|
||||
if (r[0].u[0] && (mach->ExecMask & 0x1)) {
|
||||
mach->LoopMask &= ~0x1;
|
||||
}
|
||||
if (r[0].u[1] && (mach->ExecMask & 0x2)) {
|
||||
mach->LoopMask &= ~0x2;
|
||||
}
|
||||
if (r[0].u[2] && (mach->ExecMask & 0x4)) {
|
||||
mach->LoopMask &= ~0x4;
|
||||
}
|
||||
if (r[0].u[3] && (mach->ExecMask & 0x8)) {
|
||||
mach->LoopMask &= ~0x8;
|
||||
}
|
||||
/* Todo: if mach->LoopMask == 0, jump to end of loop */
|
||||
UPDATE_EXEC_MASK(mach);
|
||||
break;
|
||||
|
||||
default:
|
||||
assert( 0 );
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue