From 59f4f236d88a7f3abb8c0b2863beca74eb53471a Mon Sep 17 00:00:00 2001
From: wheremyfoodat <44909372+wheremyfoodat@users.noreply.github.com>
Date: Mon, 29 Jul 2024 00:21:30 +0300
Subject: [PATCH] Shader decompiler: Add DPH/DPHI

---
 src/core/PICA/shader_decompiler.cpp | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/core/PICA/shader_decompiler.cpp b/src/core/PICA/shader_decompiler.cpp
index 607b5c92..d2a3405d 100644
--- a/src/core/PICA/shader_decompiler.cpp
+++ b/src/core/PICA/shader_decompiler.cpp
@@ -422,6 +422,10 @@ void ShaderDecompiler::compileInstruction(u32& pc, bool& finished) {
 			case ShaderOpcodes::SGE:
 			case ShaderOpcodes::SGEI: setDest(operandDescriptor, dest, fmt::format("vec4(greaterThanEqual({}, {}))", src1, src2)); break;
 
+			case ShaderOpcodes::DPH:
+			case ShaderOpcodes::DPHI:
+				setDest(operandDescriptor, dest, fmt::format("vec4(dot(vec4({}.xyz, 1.0), {}))", src1, src2)); break;
+
 			case ShaderOpcodes::CMP1:
 			case ShaderOpcodes::CMP2: {
 				static constexpr std::array<const char*, 8> operators = {