mirror of
https://github.com/yuzu-emu/yuzu-android.git
synced 2025-06-10 14:18:00 -05:00
vertex_shader: Implement MADI instruction.
nihstro: Update submodule to latest upstream/master to support MADI instruction decoding.
This commit is contained in:
2
externals/nihstro
vendored
2
externals/nihstro
vendored
Submodule externals/nihstro updated: 4a78588b30...81f1804a43
@ -366,12 +366,15 @@ static void ProcessShaderCode(VertexShaderState& state) {
|
||||
|
||||
case OpCode::Type::MultiplyAdd:
|
||||
{
|
||||
if (instr.opcode.Value().EffectiveOpCode() == OpCode::Id::MAD) {
|
||||
if ((instr.opcode.Value().EffectiveOpCode() == OpCode::Id::MAD) ||
|
||||
(instr.opcode.Value().EffectiveOpCode() == OpCode::Id::MADI)) {
|
||||
const SwizzlePattern& swizzle = *(SwizzlePattern*)&swizzle_data[instr.mad.operand_desc_id];
|
||||
|
||||
const float24* src1_ = LookupSourceRegister(instr.mad.src1);
|
||||
const float24* src2_ = LookupSourceRegister(instr.mad.src2);
|
||||
const float24* src3_ = LookupSourceRegister(instr.mad.src3);
|
||||
bool is_inverted = (instr.opcode.Value().EffectiveOpCode() == OpCode::Id::MADI);
|
||||
|
||||
const float24* src1_ = LookupSourceRegister(instr.mad.GetSrc1(is_inverted));
|
||||
const float24* src2_ = LookupSourceRegister(instr.mad.GetSrc2(is_inverted));
|
||||
const float24* src3_ = LookupSourceRegister(instr.mad.GetSrc3(is_inverted));
|
||||
|
||||
const bool negate_src1 = ((bool)swizzle.negate_src1 != false);
|
||||
const bool negate_src2 = ((bool)swizzle.negate_src2 != false);
|
||||
|
Reference in New Issue
Block a user