decode/other: Implement S2R.LaneId

This maps to host's thread id.

- Fixes graphical issues on Paper Mario.
This commit is contained in:
ReinUsesLisp 2020-07-16 16:08:39 -03:00
parent 263200f982
commit 210cc0204d

View file

@ -75,8 +75,7 @@ u32 ShaderIR::DecodeOther(NodeBlock& bb, u32 pc) {
const Node value = [this, instr] { const Node value = [this, instr] {
switch (instr.sys20) { switch (instr.sys20) {
case SystemVariable::LaneId: case SystemVariable::LaneId:
LOG_WARNING(HW_GPU, "S2R instruction with LaneId is incomplete"); return Operation(OperationCode::ThreadId);
return Immediate(0U);
case SystemVariable::InvocationId: case SystemVariable::InvocationId:
return Operation(OperationCode::InvocationId); return Operation(OperationCode::InvocationId);
case SystemVariable::Ydirection: case SystemVariable::Ydirection: