Don't crash on the Grp0SetSubDevMask TertOp

Used by Vulkan games to set the SLI mask, not applicable to the switch.
This commit is contained in:
Billy Laws 2022-10-30 16:41:04 +00:00
parent 1d83dadefb
commit 2ce146e28f

View File

@ -316,6 +316,11 @@ namespace skyline::soc::gm20b {
return dispatchCalls.operator()<MethodResumeState::State::NonInc>();
} else if (methodHeader.secOp == PushBufferMethodHeader::SecOp::EndPbSegment) [[unlikely]] {
return true;
} else if (methodHeader.secOp == PushBufferMethodHeader::SecOp::Grp0UseTert) {
if (methodHeader.tertOp == PushBufferMethodHeader::TertOp::Grp0SetSubDevMask)
return false;
throw exception("Unsupported pushbuffer method TertOp: {}", static_cast<u8>(methodHeader.tertOp));
} else {
throw exception("Unsupported pushbuffer method SecOp: {}", static_cast<u8>(methodHeader.secOp));
}