diff options
| author | 2019-07-19 22:20:34 -0300 | |
|---|---|---|
| committer | 2019-07-19 22:21:22 -0300 | |
| commit | 45c162444d357e18b333e94973a39b9d71c7604d (patch) | |
| tree | 9569153bbb3968678b36979e0682c05e992c610c /src/video_core/renderer_vulkan | |
| parent | shader/half_set_predicate: Implement missing HSETP2 variants (diff) | |
| download | yuzu-45c162444d357e18b333e94973a39b9d71c7604d.tar.gz yuzu-45c162444d357e18b333e94973a39b9d71c7604d.tar.xz yuzu-45c162444d357e18b333e94973a39b9d71c7604d.zip | |
shader/half_set_predicate: Fix HSETP2 implementation
Diffstat (limited to 'src/video_core/renderer_vulkan')
| -rw-r--r-- | src/video_core/renderer_vulkan/vk_shader_decompiler.cpp | 17 |
1 files changed, 4 insertions, 13 deletions
diff --git a/src/video_core/renderer_vulkan/vk_shader_decompiler.cpp b/src/video_core/renderer_vulkan/vk_shader_decompiler.cpp index 9b2d8e987..d267712c9 100644 --- a/src/video_core/renderer_vulkan/vk_shader_decompiler.cpp +++ b/src/video_core/renderer_vulkan/vk_shader_decompiler.cpp | |||
| @@ -205,10 +205,6 @@ public: | |||
| 205 | } | 205 | } |
| 206 | 206 | ||
| 207 | private: | 207 | private: |
| 208 | using OperationDecompilerFn = Id (SPIRVDecompiler::*)(Operation); | ||
| 209 | using OperationDecompilersArray = | ||
| 210 | std::array<OperationDecompilerFn, static_cast<std::size_t>(OperationCode::Amount)>; | ||
| 211 | |||
| 212 | static constexpr auto INTERNAL_FLAGS_COUNT = static_cast<std::size_t>(InternalFlag::Amount); | 208 | static constexpr auto INTERNAL_FLAGS_COUNT = static_cast<std::size_t>(InternalFlag::Amount); |
| 213 | 209 | ||
| 214 | void AllocateBindings() { | 210 | void AllocateBindings() { |
| @@ -804,12 +800,7 @@ private: | |||
| 804 | return {}; | 800 | return {}; |
| 805 | } | 801 | } |
| 806 | 802 | ||
| 807 | Id LogicalAll2(Operation operation) { | 803 | Id LogicalAnd2(Operation operation) { |
| 808 | UNIMPLEMENTED(); | ||
| 809 | return {}; | ||
| 810 | } | ||
| 811 | |||
| 812 | Id LogicalAny2(Operation operation) { | ||
| 813 | UNIMPLEMENTED(); | 804 | UNIMPLEMENTED(); |
| 814 | return {}; | 805 | return {}; |
| 815 | } | 806 | } |
| @@ -1206,7 +1197,7 @@ private: | |||
| 1206 | return {}; | 1197 | return {}; |
| 1207 | } | 1198 | } |
| 1208 | 1199 | ||
| 1209 | static constexpr OperationDecompilersArray operation_decompilers = { | 1200 | static constexpr std::array operation_decompilers = { |
| 1210 | &SPIRVDecompiler::Assign, | 1201 | &SPIRVDecompiler::Assign, |
| 1211 | 1202 | ||
| 1212 | &SPIRVDecompiler::Ternary<&Module::OpSelect, Type::Float, Type::Bool, Type::Float, | 1203 | &SPIRVDecompiler::Ternary<&Module::OpSelect, Type::Float, Type::Bool, Type::Float, |
| @@ -1291,8 +1282,7 @@ private: | |||
| 1291 | &SPIRVDecompiler::Binary<&Module::OpLogicalNotEqual, Type::Bool>, | 1282 | &SPIRVDecompiler::Binary<&Module::OpLogicalNotEqual, Type::Bool>, |
| 1292 | &SPIRVDecompiler::Unary<&Module::OpLogicalNot, Type::Bool>, | 1283 | &SPIRVDecompiler::Unary<&Module::OpLogicalNot, Type::Bool>, |
| 1293 | &SPIRVDecompiler::LogicalPick2, | 1284 | &SPIRVDecompiler::LogicalPick2, |
| 1294 | &SPIRVDecompiler::LogicalAll2, | 1285 | &SPIRVDecompiler::LogicalAnd2, |
| 1295 | &SPIRVDecompiler::LogicalAny2, | ||
| 1296 | 1286 | ||
| 1297 | &SPIRVDecompiler::Binary<&Module::OpFOrdLessThan, Type::Bool, Type::Float>, | 1287 | &SPIRVDecompiler::Binary<&Module::OpFOrdLessThan, Type::Bool, Type::Float>, |
| 1298 | &SPIRVDecompiler::Binary<&Module::OpFOrdEqual, Type::Bool, Type::Float>, | 1288 | &SPIRVDecompiler::Binary<&Module::OpFOrdEqual, Type::Bool, Type::Float>, |
| @@ -1357,6 +1347,7 @@ private: | |||
| 1357 | &SPIRVDecompiler::WorkGroupId<1>, | 1347 | &SPIRVDecompiler::WorkGroupId<1>, |
| 1358 | &SPIRVDecompiler::WorkGroupId<2>, | 1348 | &SPIRVDecompiler::WorkGroupId<2>, |
| 1359 | }; | 1349 | }; |
| 1350 | static_assert(operation_decompilers.size() == static_cast<std::size_t>(OperationCode::Amount)); | ||
| 1360 | 1351 | ||
| 1361 | const VKDevice& device; | 1352 | const VKDevice& device; |
| 1362 | const ShaderIR& ir; | 1353 | const ShaderIR& ir; |