Add support for OpFMul
Fixes many tests in dEQP-VK.glsl.*
Bug: b/126873455
Change-Id: If949066bbe1d333755d1d83ab175bc39dcc91d91
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/26608
Tested-by: Chris Forbes <chrisforbes@google.com>
Presubmit-Ready: Chris Forbes <chrisforbes@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
diff --git a/src/Pipeline/SpirvShader.cpp b/src/Pipeline/SpirvShader.cpp
index 1926823..037085f 100644
--- a/src/Pipeline/SpirvShader.cpp
+++ b/src/Pipeline/SpirvShader.cpp
@@ -288,6 +288,7 @@
case spv::OpUDiv:
case spv::OpFAdd:
case spv::OpFSub:
+ case spv::OpFMul:
case spv::OpFDiv:
case spv::OpFOrdEqual:
case spv::OpFUnordEqual:
@@ -1057,6 +1058,7 @@
case spv::OpUDiv:
case spv::OpFAdd:
case spv::OpFSub:
+ case spv::OpFMul:
case spv::OpFDiv:
case spv::OpFOrdEqual:
case spv::OpFUnordEqual:
@@ -1551,6 +1553,9 @@
case spv::OpFSub:
dst.emplace(i, lhs - rhs);
break;
+ case spv::OpFMul:
+ dst.emplace(i, lhs * rhs);
+ break;
case spv::OpFDiv:
dst.emplace(i, lhs / rhs);
break;