glsl_decompiler: Fixup permissive member function declarations

This commit is contained in:
ReinUsesLisp 2018-12-24 03:10:13 -03:00
parent 55a10d02e5
commit ab7f52b279

View file

@ -1295,139 +1295,139 @@ private:
}
static constexpr OperationDecompilersArray operation_decompilers = {
&Assign,
&AssignComposite,
&GLSLDecompiler::Assign,
&GLSLDecompiler::AssignComposite,
&Composite,
&Select,
&GLSLDecompiler::Composite,
&GLSLDecompiler::Select,
&Add<Type::Float>,
&Mul<Type::Float>,
&Div<Type::Float>,
&Fma<Type::Float>,
&Negate<Type::Float>,
&Absolute<Type::Float>,
&FClamp,
&Min<Type::Float>,
&Max<Type::Float>,
&FCos,
&FSin,
&FExp2,
&FLog2,
&FInverseSqrt,
&FSqrt,
&FRoundEven,
&FFloor,
&FCeil,
&FTrunc,
&FCastInteger<Type::Int>,
&FCastInteger<Type::Uint>,
&GLSLDecompiler::Add<Type::Float>,
&GLSLDecompiler::Mul<Type::Float>,
&GLSLDecompiler::Div<Type::Float>,
&GLSLDecompiler::Fma<Type::Float>,
&GLSLDecompiler::Negate<Type::Float>,
&GLSLDecompiler::Absolute<Type::Float>,
&GLSLDecompiler::FClamp,
&GLSLDecompiler::Min<Type::Float>,
&GLSLDecompiler::Max<Type::Float>,
&GLSLDecompiler::FCos,
&GLSLDecompiler::FSin,
&GLSLDecompiler::FExp2,
&GLSLDecompiler::FLog2,
&GLSLDecompiler::FInverseSqrt,
&GLSLDecompiler::FSqrt,
&GLSLDecompiler::FRoundEven,
&GLSLDecompiler::FFloor,
&GLSLDecompiler::FCeil,
&GLSLDecompiler::FTrunc,
&GLSLDecompiler::FCastInteger<Type::Int>,
&GLSLDecompiler::FCastInteger<Type::Uint>,
&Add<Type::Int>,
&Mul<Type::Int>,
&Div<Type::Int>,
&Negate<Type::Int>,
&Absolute<Type::Int>,
&Min<Type::Int>,
&Max<Type::Int>,
&GLSLDecompiler::Add<Type::Int>,
&GLSLDecompiler::Mul<Type::Int>,
&GLSLDecompiler::Div<Type::Int>,
&GLSLDecompiler::Negate<Type::Int>,
&GLSLDecompiler::Absolute<Type::Int>,
&GLSLDecompiler::Min<Type::Int>,
&GLSLDecompiler::Max<Type::Int>,
&ICastFloat,
&ICastUnsigned,
&LogicalShiftLeft<Type::Int>,
&ILogicalShiftRight,
&IArithmeticShiftRight,
&BitwiseAnd<Type::Int>,
&BitwiseOr<Type::Int>,
&BitwiseXor<Type::Int>,
&BitwiseNot<Type::Int>,
&BitfieldInsert<Type::Int>,
&BitCount<Type::Int>,
&GLSLDecompiler::ICastFloat,
&GLSLDecompiler::ICastUnsigned,
&GLSLDecompiler::LogicalShiftLeft<Type::Int>,
&GLSLDecompiler::ILogicalShiftRight,
&GLSLDecompiler::IArithmeticShiftRight,
&GLSLDecompiler::BitwiseAnd<Type::Int>,
&GLSLDecompiler::BitwiseOr<Type::Int>,
&GLSLDecompiler::BitwiseXor<Type::Int>,
&GLSLDecompiler::BitwiseNot<Type::Int>,
&GLSLDecompiler::BitfieldInsert<Type::Int>,
&GLSLDecompiler::BitCount<Type::Int>,
&Add<Type::Uint>,
&Mul<Type::Uint>,
&Div<Type::Uint>,
&Min<Type::Uint>,
&Max<Type::Uint>,
&UCastFloat,
&UCastSigned,
&LogicalShiftLeft<Type::Uint>,
&UShiftRight,
&UShiftRight,
&BitwiseAnd<Type::Uint>,
&BitwiseOr<Type::Uint>,
&BitwiseXor<Type::Uint>,
&BitwiseNot<Type::Uint>,
&BitfieldInsert<Type::Uint>,
&BitCount<Type::Uint>,
&GLSLDecompiler::Add<Type::Uint>,
&GLSLDecompiler::Mul<Type::Uint>,
&GLSLDecompiler::Div<Type::Uint>,
&GLSLDecompiler::Min<Type::Uint>,
&GLSLDecompiler::Max<Type::Uint>,
&GLSLDecompiler::UCastFloat,
&GLSLDecompiler::UCastSigned,
&GLSLDecompiler::LogicalShiftLeft<Type::Uint>,
&GLSLDecompiler::UShiftRight,
&GLSLDecompiler::UShiftRight,
&GLSLDecompiler::BitwiseAnd<Type::Uint>,
&GLSLDecompiler::BitwiseOr<Type::Uint>,
&GLSLDecompiler::BitwiseXor<Type::Uint>,
&GLSLDecompiler::BitwiseNot<Type::Uint>,
&GLSLDecompiler::BitfieldInsert<Type::Uint>,
&GLSLDecompiler::BitCount<Type::Uint>,
&Add<Type::HalfFloat>,
&Mul<Type::HalfFloat>,
&Fma<Type::HalfFloat>,
&Absolute<Type::HalfFloat>,
&HNegate,
&HMergeF32,
&HMergeH0,
&HMergeH1,
&GLSLDecompiler::Add<Type::HalfFloat>,
&GLSLDecompiler::Mul<Type::HalfFloat>,
&GLSLDecompiler::Fma<Type::HalfFloat>,
&GLSLDecompiler::Absolute<Type::HalfFloat>,
&GLSLDecompiler::HNegate,
&GLSLDecompiler::HMergeF32,
&GLSLDecompiler::HMergeH0,
&GLSLDecompiler::HMergeH1,
&LogicalAssign,
&LogicalAnd,
&LogicalOr,
&LogicalXor,
&LogicalNegate,
&LogicalPick2,
&LogicalAll2,
&LogicalAny2,
&GLSLDecompiler::LogicalAssign,
&GLSLDecompiler::LogicalAnd,
&GLSLDecompiler::LogicalOr,
&GLSLDecompiler::LogicalXor,
&GLSLDecompiler::LogicalNegate,
&GLSLDecompiler::LogicalPick2,
&GLSLDecompiler::LogicalAll2,
&GLSLDecompiler::LogicalAny2,
&LogicalLessThan<Type::Float>,
&LogicalEqual<Type::Float>,
&LogicalLessEqual<Type::Float>,
&LogicalGreaterThan<Type::Float>,
&LogicalNotEqual<Type::Float>,
&LogicalGreaterEqual<Type::Float>,
&LogicalFIsNan,
&GLSLDecompiler::LogicalLessThan<Type::Float>,
&GLSLDecompiler::LogicalEqual<Type::Float>,
&GLSLDecompiler::LogicalLessEqual<Type::Float>,
&GLSLDecompiler::LogicalGreaterThan<Type::Float>,
&GLSLDecompiler::LogicalNotEqual<Type::Float>,
&GLSLDecompiler::LogicalGreaterEqual<Type::Float>,
&GLSLDecompiler::LogicalFIsNan,
&LogicalLessThan<Type::Int>,
&LogicalEqual<Type::Int>,
&LogicalLessEqual<Type::Int>,
&LogicalGreaterThan<Type::Int>,
&LogicalNotEqual<Type::Int>,
&LogicalGreaterEqual<Type::Int>,
&GLSLDecompiler::LogicalLessThan<Type::Int>,
&GLSLDecompiler::LogicalEqual<Type::Int>,
&GLSLDecompiler::LogicalLessEqual<Type::Int>,
&GLSLDecompiler::LogicalGreaterThan<Type::Int>,
&GLSLDecompiler::LogicalNotEqual<Type::Int>,
&GLSLDecompiler::LogicalGreaterEqual<Type::Int>,
&LogicalLessThan<Type::Uint>,
&LogicalEqual<Type::Uint>,
&LogicalLessEqual<Type::Uint>,
&LogicalGreaterThan<Type::Uint>,
&LogicalNotEqual<Type::Uint>,
&LogicalGreaterEqual<Type::Uint>,
&GLSLDecompiler::LogicalLessThan<Type::Uint>,
&GLSLDecompiler::LogicalEqual<Type::Uint>,
&GLSLDecompiler::LogicalLessEqual<Type::Uint>,
&GLSLDecompiler::LogicalGreaterThan<Type::Uint>,
&GLSLDecompiler::LogicalNotEqual<Type::Uint>,
&GLSLDecompiler::LogicalGreaterEqual<Type::Uint>,
&Logical2HLessThan,
&Logical2HEqual,
&Logical2HLessEqual,
&Logical2HGreaterThan,
&Logical2HNotEqual,
&Logical2HGreaterEqual,
&GLSLDecompiler::Logical2HLessThan,
&GLSLDecompiler::Logical2HEqual,
&GLSLDecompiler::Logical2HLessEqual,
&GLSLDecompiler::Logical2HGreaterThan,
&GLSLDecompiler::Logical2HNotEqual,
&GLSLDecompiler::Logical2HGreaterEqual,
&F4Texture,
&F4TextureLod,
&F4TextureGather,
&F4TextureQueryDimensions,
&F4TextureQueryLod,
&F4TexelFetch,
&GLSLDecompiler::F4Texture,
&GLSLDecompiler::F4TextureLod,
&GLSLDecompiler::F4TextureGather,
&GLSLDecompiler::F4TextureQueryDimensions,
&GLSLDecompiler::F4TextureQueryLod,
&GLSLDecompiler::F4TexelFetch,
&Ipa,
&GLSLDecompiler::Ipa,
&Bra,
&PushFlowStack, // Ssy
&PushFlowStack, // Brk
&PopFlowStack, // Sync
&PopFlowStack, // Brk
&Exit,
&Kil,
&GLSLDecompiler::Bra,
&GLSLDecompiler::PushFlowStack, // Ssy
&GLSLDecompiler::PushFlowStack, // Brk
&GLSLDecompiler::PopFlowStack, // Sync
&GLSLDecompiler::PopFlowStack, // Brk
&GLSLDecompiler::Exit,
&GLSLDecompiler::Kil,
&EmitVertex,
&EndPrimitive,
&GLSLDecompiler::EmitVertex,
&GLSLDecompiler::EndPrimitive,
&YNegate,
&GLSLDecompiler::YNegate,
};
std::string GetRegister(u32 index) const {