From ab7f52b279076de459268c61641305544df3637f Mon Sep 17 00:00:00 2001
From: ReinUsesLisp <reinuseslisp@airmail.cc>
Date: Mon, 24 Dec 2018 03:10:13 -0300
Subject: [PATCH] glsl_decompiler: Fixup permissive member function
 declarations

---
 src/video_core/shader/glsl_decompiler.cpp | 234 +++++++++++-----------
 1 file changed, 117 insertions(+), 117 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,
+        &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 {