Commit fb96f4ed by Alexis Hetu Committed by Alexis Hétu

outerProduct implementation

outerProduct is now implemented for dynamic variables. All outerProduct dEQP tests pass. Change-Id: I81e29640347844bd9548030aa69ffbb2eb060fdf Reviewed-on: https://swiftshader-review.googlesource.com/3283Reviewed-by: 's avatarNicolas Capens <capn@google.com> Tested-by: 's avatarAlexis Hétu <sugoi@google.com>
parent f86ecd46
...@@ -1092,6 +1092,17 @@ namespace glsl ...@@ -1092,6 +1092,17 @@ namespace glsl
} }
} }
break; break;
case EOpOuterProduct:
if(visit == PostVisit)
{
for(int i = 0; i < dim(arg[1]); i++)
{
Instruction *mul = emit(sw::Shader::OPCODE_MUL, result, arg[0], arg[1]);
mul->dst.index += i;
mul->src[1].swizzle = 0x55 * i;
}
}
break;
default: UNREACHABLE(); default: UNREACHABLE();
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment