summaryrefslogtreecommitdiff
path: root/src/video_core/shader/decode
diff options
context:
space:
mode:
authorGravatar ReinUsesLisp2020-09-16 17:48:01 -0300
committerGravatar ReinUsesLisp2020-09-16 17:48:01 -0300
commiteb914b6c50cbd79cdc76a508ab774e54e34c9b11 (patch)
treecba7d92a8b7250e0afd889057b08149a352ca91a /src/video_core/shader/decode
parentMerge pull request #4661 from lioncash/system-loader (diff)
downloadyuzu-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.cpp3
-rw-r--r--src/video_core/shader/decode/image.cpp14
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
228std::size_t GetImageComponentMask(TextureFormat format) { 231std::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
265std::size_t GetImageTypeNumCoordinates(Tegra::Shader::ImageType image_type) { 269std::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;