From d79c462af067f78eb6fd84b0f02c385464412017 Mon Sep 17 00:00:00 2001
From: ReinUsesLisp <reinuseslisp@airmail.cc>
Date: Fri, 21 Dec 2018 02:05:59 -0300
Subject: [PATCH] shader_decode: Implement SHL

---
 src/video_core/shader/decode/shift.cpp | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/src/video_core/shader/decode/shift.cpp b/src/video_core/shader/decode/shift.cpp
index 76938fa05..3ba039d21 100644
--- a/src/video_core/shader/decode/shift.cpp
+++ b/src/video_core/shader/decode/shift.cpp
@@ -39,6 +39,14 @@ u32 ShaderIR::DecodeShift(BasicBlock& bb, u32 pc) {
         SetRegister(bb, instr.gpr0, value);
         break;
     }
+    case OpCode::Id::SHL_C:
+    case OpCode::Id::SHL_R:
+    case OpCode::Id::SHL_IMM:
+        UNIMPLEMENTED_IF_MSG(instr.generates_cc,
+                             "Condition codes generation in SHL is not implemented");
+        SetRegister(bb, instr.gpr0,
+                    Operation(OperationCode::ILogicalShiftLeft, PRECISE, op_a, op_b));
+        break;
     default:
         UNIMPLEMENTED_MSG("Unhandled shift instruction: {}", opcode->get().GetName());
     }