diff options
Diffstat (limited to 'src/video_core/shader/glsl_decompiler.cpp')
-rw-r--r-- | src/video_core/shader/glsl_decompiler.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/video_core/shader/glsl_decompiler.cpp b/src/video_core/shader/glsl_decompiler.cpp index b93ea9ec6..1aff62882 100644 --- a/src/video_core/shader/glsl_decompiler.cpp +++ b/src/video_core/shader/glsl_decompiler.cpp @@ -908,6 +908,11 @@ private: Type::Int); } + template <Type type> + std::string BitCount(Operation operation) { + return GenerateUnary(operation, "bitCount", type, type, false); + } + std::string HNegate(Operation operation) { const auto GetNegate = [&](std::size_t index) -> std::string { if (const auto pred = std::get_if<PredicateNode>(operation[index])) { @@ -1273,6 +1278,7 @@ private: &BitwiseXor<Type::Int>, &BitwiseNot<Type::Int>, &BitfieldInsert<Type::Int>, + &BitCount<Type::Int>, &Add<Type::Uint>, &Mul<Type::Uint>, @@ -1289,6 +1295,7 @@ private: &BitwiseXor<Type::Uint>, &BitwiseNot<Type::Uint>, &BitfieldInsert<Type::Uint>, + &BitCount<Type::Uint>, &Add<Type::HalfFloat>, &Mul<Type::HalfFloat>, |