diff options
| author | 2020-09-16 17:48:01 -0300 | |
|---|---|---|
| committer | 2020-09-16 17:48:01 -0300 | |
| commit | eb914b6c50cbd79cdc76a508ab774e54e34c9b11 (patch) | |
| tree | cba7d92a8b7250e0afd889057b08149a352ca91a /src/video_core/shader/decode | |
| parent | Merge pull request #4661 from lioncash/system-loader (diff) | |
| download | yuzu-eb914b6c50cbd79cdc76a508ab774e54e34c9b11.tar.gz yuzu-eb914b6c50cbd79cdc76a508ab774e54e34c9b11.tar.xz yuzu-eb914b6c50cbd79cdc76a508ab774e54e34c9b11.zip | |
video_core: Enforce -Werror=switch
This forces us to fix all -Wswitch warnings in video_core.
Diffstat (limited to 'src/video_core/shader/decode')
| -rw-r--r-- | src/video_core/shader/decode/arithmetic_half.cpp | 3 | ||||
| -rw-r--r-- | src/video_core/shader/decode/image.cpp | 14 |
2 files changed, 13 insertions, 4 deletions
diff --git a/src/video_core/shader/decode/arithmetic_half.cpp b/src/video_core/shader/decode/arithmetic_half.cpp index a276aee44..88103fede 100644 --- a/src/video_core/shader/decode/arithmetic_half.cpp +++ b/src/video_core/shader/decode/arithmetic_half.cpp | |||
| @@ -53,6 +53,9 @@ u32 ShaderIR::DecodeArithmeticHalf(NodeBlock& bb, u32 pc) { | |||
| 53 | absolute_a = ((instr.value >> 44) & 1) != 0; | 53 | absolute_a = ((instr.value >> 44) & 1) != 0; |
| 54 | absolute_b = ((instr.value >> 54) & 1) != 0; | 54 | absolute_b = ((instr.value >> 54) & 1) != 0; |
| 55 | break; | 55 | break; |
| 56 | default: | ||
| 57 | UNREACHABLE(); | ||
| 58 | break; | ||
| 56 | } | 59 | } |
| 57 | 60 | ||
| 58 | Node op_a = UnpackHalfFloat(GetRegister(instr.gpr8), instr.alu_half.type_a); | 61 | Node op_a = UnpackHalfFloat(GetRegister(instr.gpr8), instr.alu_half.type_a); |
diff --git a/src/video_core/shader/decode/image.cpp b/src/video_core/shader/decode/image.cpp index e75ca4fdb..cd424aa91 100644 --- a/src/video_core/shader/decode/image.cpp +++ b/src/video_core/shader/decode/image.cpp | |||
| @@ -119,6 +119,8 @@ ComponentType GetComponentType(Tegra::Engines::SamplerDescriptor descriptor, | |||
| 119 | return descriptor.r_type; | 119 | return descriptor.r_type; |
| 120 | } | 120 | } |
| 121 | break; | 121 | break; |
| 122 | default: | ||
| 123 | break; | ||
| 122 | } | 124 | } |
| 123 | UNIMPLEMENTED_MSG("Texture format not implemented={}", format); | 125 | UNIMPLEMENTED_MSG("Texture format not implemented={}", format); |
| 124 | return ComponentType::FLOAT; | 126 | return ComponentType::FLOAT; |
| @@ -220,9 +222,10 @@ u32 GetComponentSize(TextureFormat format, std::size_t component) { | |||
| 220 | return (component == 0 || component == 1) ? 8 : 0; | 222 | return (component == 0 || component == 1) ? 8 : 0; |
| 221 | case TextureFormat::G4R4: | 223 | case TextureFormat::G4R4: |
| 222 | return (component == 0 || component == 1) ? 4 : 0; | 224 | return (component == 0 || component == 1) ? 4 : 0; |
| 225 | default: | ||
| 226 | UNIMPLEMENTED_MSG("Texture format not implemented={}", format); | ||
| 227 | return 0; | ||
| 223 | } | 228 | } |
| 224 | UNIMPLEMENTED_MSG("Texture format not implemented={}", format); | ||
| 225 | return 0; | ||
| 226 | } | 229 | } |
| 227 | 230 | ||
| 228 | std::size_t GetImageComponentMask(TextureFormat format) { | 231 | std::size_t GetImageComponentMask(TextureFormat format) { |
| @@ -257,9 +260,10 @@ std::size_t GetImageComponentMask(TextureFormat format) { | |||
| 257 | case TextureFormat::R8: | 260 | case TextureFormat::R8: |
| 258 | case TextureFormat::R1: | 261 | case TextureFormat::R1: |
| 259 | return std::size_t{R}; | 262 | return std::size_t{R}; |
| 263 | default: | ||
| 264 | UNIMPLEMENTED_MSG("Texture format not implemented={}", format); | ||
| 265 | return std::size_t{R | G | B | A}; | ||
| 260 | } | 266 | } |
| 261 | UNIMPLEMENTED_MSG("Texture format not implemented={}", format); | ||
| 262 | return std::size_t{R | G | B | A}; | ||
| 263 | } | 267 | } |
| 264 | 268 | ||
| 265 | std::size_t GetImageTypeNumCoordinates(Tegra::Shader::ImageType image_type) { | 269 | std::size_t GetImageTypeNumCoordinates(Tegra::Shader::ImageType image_type) { |
| @@ -463,6 +467,8 @@ u32 ShaderIR::DecodeImage(NodeBlock& bb, u32 pc) { | |||
| 463 | return OperationCode::AtomicImageXor; | 467 | return OperationCode::AtomicImageXor; |
| 464 | case Tegra::Shader::ImageAtomicOperation::Exch: | 468 | case Tegra::Shader::ImageAtomicOperation::Exch: |
| 465 | return OperationCode::AtomicImageExchange; | 469 | return OperationCode::AtomicImageExchange; |
| 470 | default: | ||
| 471 | break; | ||
| 466 | } | 472 | } |
| 467 | default: | 473 | default: |
| 468 | break; | 474 | break; |