summaryrefslogtreecommitdiffstats
path: root/src/video_core/shader
diff options
context:
space:
mode:
Diffstat (limited to 'src/video_core/shader')
-rw-r--r--src/video_core/shader/glsl_decompiler.cpp266
1 files changed, 133 insertions, 133 deletions
diff --git a/src/video_core/shader/glsl_decompiler.cpp b/src/video_core/shader/glsl_decompiler.cpp
index 9b443e61a..2ee8cefab 100644
--- a/src/video_core/shader/glsl_decompiler.cpp
+++ b/src/video_core/shader/glsl_decompiler.cpp
@@ -1295,139 +1295,139 @@ private:
}
static constexpr OperationDecompilersArray operation_decompilers = {
- &Assign,
- &AssignComposite,
-
- &Composite,
- &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>,
-
- &Add<Type::Int>,
- &Mul<Type::Int>,
- &Div<Type::Int>,
- &Negate<Type::Int>,
- &Absolute<Type::Int>,
- &Min<Type::Int>,
- &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>,
-
- &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>,
-
- &Add<Type::HalfFloat>,
- &Mul<Type::HalfFloat>,
- &Fma<Type::HalfFloat>,
- &Absolute<Type::HalfFloat>,
- &HNegate,
- &HMergeF32,
- &HMergeH0,
- &HMergeH1,
-
- &LogicalAssign,
- &LogicalAnd,
- &LogicalOr,
- &LogicalXor,
- &LogicalNegate,
- &LogicalPick2,
- &LogicalAll2,
- &LogicalAny2,
-
- &LogicalLessThan<Type::Float>,
- &LogicalEqual<Type::Float>,
- &LogicalLessEqual<Type::Float>,
- &LogicalGreaterThan<Type::Float>,
- &LogicalNotEqual<Type::Float>,
- &LogicalGreaterEqual<Type::Float>,
- &LogicalFIsNan,
-
- &LogicalLessThan<Type::Int>,
- &LogicalEqual<Type::Int>,
- &LogicalLessEqual<Type::Int>,
- &LogicalGreaterThan<Type::Int>,
- &LogicalNotEqual<Type::Int>,
- &LogicalGreaterEqual<Type::Int>,
-
- &LogicalLessThan<Type::Uint>,
- &LogicalEqual<Type::Uint>,
- &LogicalLessEqual<Type::Uint>,
- &LogicalGreaterThan<Type::Uint>,
- &LogicalNotEqual<Type::Uint>,
- &LogicalGreaterEqual<Type::Uint>,
-
- &Logical2HLessThan,
- &Logical2HEqual,
- &Logical2HLessEqual,
- &Logical2HGreaterThan,
- &Logical2HNotEqual,
- &Logical2HGreaterEqual,
-
- &F4Texture,
- &F4TextureLod,
- &F4TextureGather,
- &F4TextureQueryDimensions,
- &F4TextureQueryLod,
- &F4TexelFetch,
-
- &Ipa,
-
- &Bra,
- &PushFlowStack, // Ssy
- &PushFlowStack, // Brk
- &PopFlowStack, // Sync
- &PopFlowStack, // Brk
- &Exit,
- &Kil,
-
- &EmitVertex,
- &EndPrimitive,
-
- &YNegate,
+ &GLSLDecompiler::Assign,
+ &GLSLDecompiler::AssignComposite,
+
+ &GLSLDecompiler::Composite,
+ &GLSLDecompiler::Select,
+
+ &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>,
+
+ &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>,
+
+ &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>,
+
+ &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>,
+
+ &GLSLDecompiler::Add<Type::HalfFloat>,
+ &GLSLDecompiler::Mul<Type::HalfFloat>,
+ &GLSLDecompiler::Fma<Type::HalfFloat>,
+ &GLSLDecompiler::Absolute<Type::HalfFloat>,
+ &GLSLDecompiler::HNegate,
+ &GLSLDecompiler::HMergeF32,
+ &GLSLDecompiler::HMergeH0,
+ &GLSLDecompiler::HMergeH1,
+
+ &GLSLDecompiler::LogicalAssign,
+ &GLSLDecompiler::LogicalAnd,
+ &GLSLDecompiler::LogicalOr,
+ &GLSLDecompiler::LogicalXor,
+ &GLSLDecompiler::LogicalNegate,
+ &GLSLDecompiler::LogicalPick2,
+ &GLSLDecompiler::LogicalAll2,
+ &GLSLDecompiler::LogicalAny2,
+
+ &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,
+
+ &GLSLDecompiler::LogicalLessThan<Type::Int>,
+ &GLSLDecompiler::LogicalEqual<Type::Int>,
+ &GLSLDecompiler::LogicalLessEqual<Type::Int>,
+ &GLSLDecompiler::LogicalGreaterThan<Type::Int>,
+ &GLSLDecompiler::LogicalNotEqual<Type::Int>,
+ &GLSLDecompiler::LogicalGreaterEqual<Type::Int>,
+
+ &GLSLDecompiler::LogicalLessThan<Type::Uint>,
+ &GLSLDecompiler::LogicalEqual<Type::Uint>,
+ &GLSLDecompiler::LogicalLessEqual<Type::Uint>,
+ &GLSLDecompiler::LogicalGreaterThan<Type::Uint>,
+ &GLSLDecompiler::LogicalNotEqual<Type::Uint>,
+ &GLSLDecompiler::LogicalGreaterEqual<Type::Uint>,
+
+ &GLSLDecompiler::Logical2HLessThan,
+ &GLSLDecompiler::Logical2HEqual,
+ &GLSLDecompiler::Logical2HLessEqual,
+ &GLSLDecompiler::Logical2HGreaterThan,
+ &GLSLDecompiler::Logical2HNotEqual,
+ &GLSLDecompiler::Logical2HGreaterEqual,
+
+ &GLSLDecompiler::F4Texture,
+ &GLSLDecompiler::F4TextureLod,
+ &GLSLDecompiler::F4TextureGather,
+ &GLSLDecompiler::F4TextureQueryDimensions,
+ &GLSLDecompiler::F4TextureQueryLod,
+ &GLSLDecompiler::F4TexelFetch,
+
+ &GLSLDecompiler::Ipa,
+
+ &GLSLDecompiler::Bra,
+ &GLSLDecompiler::PushFlowStack, // Ssy
+ &GLSLDecompiler::PushFlowStack, // Brk
+ &GLSLDecompiler::PopFlowStack, // Sync
+ &GLSLDecompiler::PopFlowStack, // Brk
+ &GLSLDecompiler::Exit,
+ &GLSLDecompiler::Kil,
+
+ &GLSLDecompiler::EmitVertex,
+ &GLSLDecompiler::EndPrimitive,
+
+ &GLSLDecompiler::YNegate,
};
std::string GetRegister(u32 index) const {