diff options
29 files changed, 202 insertions, 22 deletions
diff --git a/externals/microprofile/microprofileui.h b/externals/microprofile/microprofileui.h index 1357a08fd..ca9fe7063 100644 --- a/externals/microprofile/microprofileui.h +++ b/externals/microprofile/microprofileui.h | |||
| @@ -845,8 +845,6 @@ inline void MicroProfileDrawDetailedBars(uint32_t nWidth, uint32_t nHeight, int | |||
| 845 | MicroProfile& S = *MicroProfileGet(); | 845 | MicroProfile& S = *MicroProfileGet(); |
| 846 | MP_DEBUG_DUMP_RANGE(); | 846 | MP_DEBUG_DUMP_RANGE(); |
| 847 | int nY = nBaseY - UI.nOffsetY; | 847 | int nY = nBaseY - UI.nOffsetY; |
| 848 | int64_t nNumBoxes = 0; | ||
| 849 | int64_t nNumLines = 0; | ||
| 850 | 848 | ||
| 851 | uint32_t nFrameNext = (S.nFrameCurrent+1) % MICROPROFILE_MAX_FRAME_HISTORY; | 849 | uint32_t nFrameNext = (S.nFrameCurrent+1) % MICROPROFILE_MAX_FRAME_HISTORY; |
| 852 | MicroProfileFrameState* pFrameCurrent = &S.Frames[S.nFrameCurrent]; | 850 | MicroProfileFrameState* pFrameCurrent = &S.Frames[S.nFrameCurrent]; |
| @@ -1149,7 +1147,6 @@ inline void MicroProfileDrawDetailedBars(uint32_t nWidth, uint32_t nHeight, int | |||
| 1149 | } | 1147 | } |
| 1150 | } | 1148 | } |
| 1151 | #endif | 1149 | #endif |
| 1152 | ++nNumBoxes; | ||
| 1153 | } | 1150 | } |
| 1154 | else | 1151 | else |
| 1155 | { | 1152 | { |
| @@ -1165,7 +1162,6 @@ inline void MicroProfileDrawDetailedBars(uint32_t nWidth, uint32_t nHeight, int | |||
| 1165 | } | 1162 | } |
| 1166 | nLinesDrawn[nStackPos] = nLineX; | 1163 | nLinesDrawn[nStackPos] = nLineX; |
| 1167 | MicroProfileDrawLineVertical(nLineX, fYStart + 0.5f, fYEnd + 0.5f, nColor|UI.nOpacityForeground); | 1164 | MicroProfileDrawLineVertical(nLineX, fYStart + 0.5f, fYEnd + 0.5f, nColor|UI.nOpacityForeground); |
| 1168 | ++nNumLines; | ||
| 1169 | } | 1165 | } |
| 1170 | } | 1166 | } |
| 1171 | nStackPos--; | 1167 | nStackPos--; |
diff --git a/src/audio_core/renderer/performance/performance_manager.cpp b/src/audio_core/renderer/performance/performance_manager.cpp index fd5873e1e..8aa0f5ed0 100644 --- a/src/audio_core/renderer/performance/performance_manager.cpp +++ b/src/audio_core/renderer/performance/performance_manager.cpp | |||
| @@ -26,6 +26,7 @@ void PerformanceManager::CreateImpl(const size_t version) { | |||
| 26 | impl = std::make_unique< | 26 | impl = std::make_unique< |
| 27 | PerformanceManagerImpl<PerformanceVersion::Version1, PerformanceFrameHeaderVersion1, | 27 | PerformanceManagerImpl<PerformanceVersion::Version1, PerformanceFrameHeaderVersion1, |
| 28 | PerformanceEntryVersion1, PerformanceDetailVersion1>>(); | 28 | PerformanceEntryVersion1, PerformanceDetailVersion1>>(); |
| 29 | break; | ||
| 29 | } | 30 | } |
| 30 | } | 31 | } |
| 31 | 32 | ||
diff --git a/src/common/atomic_helpers.h b/src/common/atomic_helpers.h index bef5015c1..aef3b66a4 100644 --- a/src/common/atomic_helpers.h +++ b/src/common/atomic_helpers.h | |||
| @@ -156,6 +156,7 @@ AE_FORCEINLINE void compiler_fence(memory_order order) AE_NO_TSAN { | |||
| 156 | break; | 156 | break; |
| 157 | default: | 157 | default: |
| 158 | assert(false); | 158 | assert(false); |
| 159 | break; | ||
| 159 | } | 160 | } |
| 160 | } | 161 | } |
| 161 | 162 | ||
diff --git a/src/core/hle/kernel/init/init_slab_setup.cpp b/src/core/hle/kernel/init/init_slab_setup.cpp index bda098511..7b363eb1e 100644 --- a/src/core/hle/kernel/init/init_slab_setup.cpp +++ b/src/core/hle/kernel/init/init_slab_setup.cpp | |||
| @@ -243,6 +243,7 @@ void InitializeSlabHeaps(Core::System& system, KMemoryLayout& memory_layout) { | |||
| 243 | // If we somehow get an invalid type, abort. | 243 | // If we somehow get an invalid type, abort. |
| 244 | default: | 244 | default: |
| 245 | ASSERT_MSG(false, "Unknown slab type: {}", slab_types[i]); | 245 | ASSERT_MSG(false, "Unknown slab type: {}", slab_types[i]); |
| 246 | break; | ||
| 246 | } | 247 | } |
| 247 | 248 | ||
| 248 | // If we've hit the end of a gap, free it. | 249 | // If we've hit the end of a gap, free it. |
diff --git a/src/core/hle/kernel/k_page_table.cpp b/src/core/hle/kernel/k_page_table.cpp index 5387bf5fe..612fc76fa 100644 --- a/src/core/hle/kernel/k_page_table.cpp +++ b/src/core/hle/kernel/k_page_table.cpp | |||
| @@ -2301,6 +2301,7 @@ Result KPageTable::SetProcessMemoryPermission(VAddr addr, size_t size, | |||
| 2301 | break; | 2301 | break; |
| 2302 | default: | 2302 | default: |
| 2303 | ASSERT(false); | 2303 | ASSERT(false); |
| 2304 | break; | ||
| 2304 | } | 2305 | } |
| 2305 | } | 2306 | } |
| 2306 | 2307 | ||
| @@ -2803,6 +2804,7 @@ Result KPageTable::Operate(VAddr addr, size_t num_pages, const KPageGroup& page_ | |||
| 2803 | break; | 2804 | break; |
| 2804 | default: | 2805 | default: |
| 2805 | ASSERT(false); | 2806 | ASSERT(false); |
| 2807 | break; | ||
| 2806 | } | 2808 | } |
| 2807 | 2809 | ||
| 2808 | addr += size; | 2810 | addr += size; |
| @@ -2838,6 +2840,7 @@ Result KPageTable::Operate(VAddr addr, size_t num_pages, KMemoryPermission perm, | |||
| 2838 | break; | 2840 | break; |
| 2839 | default: | 2841 | default: |
| 2840 | ASSERT(false); | 2842 | ASSERT(false); |
| 2843 | break; | ||
| 2841 | } | 2844 | } |
| 2842 | R_SUCCEED(); | 2845 | R_SUCCEED(); |
| 2843 | } | 2846 | } |
diff --git a/src/core/hle/kernel/k_process.cpp b/src/core/hle/kernel/k_process.cpp index 55a9c5fae..d1dc62401 100644 --- a/src/core/hle/kernel/k_process.cpp +++ b/src/core/hle/kernel/k_process.cpp | |||
| @@ -395,6 +395,7 @@ Result KProcess::LoadFromMetadata(const FileSys::ProgramMetadata& metadata, std: | |||
| 395 | 395 | ||
| 396 | default: | 396 | default: |
| 397 | ASSERT(false); | 397 | ASSERT(false); |
| 398 | break; | ||
| 398 | } | 399 | } |
| 399 | 400 | ||
| 400 | // Create TLS region | 401 | // Create TLS region |
diff --git a/src/core/hle/result.h b/src/core/hle/result.h index 56c990728..240f06689 100644 --- a/src/core/hle/result.h +++ b/src/core/hle/result.h | |||
| @@ -28,30 +28,49 @@ enum class ErrorModule : u32 { | |||
| 28 | Loader = 9, | 28 | Loader = 9, |
| 29 | CMIF = 10, | 29 | CMIF = 10, |
| 30 | HIPC = 11, | 30 | HIPC = 11, |
| 31 | TMA = 12, | ||
| 32 | DMNT = 13, | ||
| 33 | GDS = 14, | ||
| 31 | PM = 15, | 34 | PM = 15, |
| 32 | NS = 16, | 35 | NS = 16, |
| 36 | BSDSockets = 17, | ||
| 33 | HTC = 18, | 37 | HTC = 18, |
| 38 | TSC = 19, | ||
| 34 | NCMContent = 20, | 39 | NCMContent = 20, |
| 35 | SM = 21, | 40 | SM = 21, |
| 36 | RO = 22, | 41 | RO = 22, |
| 42 | GC = 23, | ||
| 37 | SDMMC = 24, | 43 | SDMMC = 24, |
| 38 | OVLN = 25, | 44 | OVLN = 25, |
| 39 | SPL = 26, | 45 | SPL = 26, |
| 46 | Socket = 27, | ||
| 47 | HTCLOW = 29, | ||
| 48 | DDSF = 30, | ||
| 49 | HTCFS = 31, | ||
| 50 | Async = 32, | ||
| 51 | Util = 33, | ||
| 52 | TIPC = 35, | ||
| 53 | ANIF = 37, | ||
| 40 | ETHC = 100, | 54 | ETHC = 100, |
| 41 | I2C = 101, | 55 | I2C = 101, |
| 42 | GPIO = 102, | 56 | GPIO = 102, |
| 43 | UART = 103, | 57 | UART = 103, |
| 58 | CPAD = 104, | ||
| 44 | Settings = 105, | 59 | Settings = 105, |
| 60 | FTM = 106, | ||
| 45 | WLAN = 107, | 61 | WLAN = 107, |
| 46 | XCD = 108, | 62 | XCD = 108, |
| 63 | TMP451 = 109, | ||
| 47 | NIFM = 110, | 64 | NIFM = 110, |
| 48 | Hwopus = 111, | 65 | Hwopus = 111, |
| 66 | LSM6DS3 = 112, | ||
| 49 | Bluetooth = 113, | 67 | Bluetooth = 113, |
| 50 | VI = 114, | 68 | VI = 114, |
| 51 | NFP = 115, | 69 | NFP = 115, |
| 52 | Time = 116, | 70 | Time = 116, |
| 53 | FGM = 117, | 71 | FGM = 117, |
| 54 | OE = 118, | 72 | OE = 118, |
| 73 | BH1730FVC = 119, | ||
| 55 | PCIe = 120, | 74 | PCIe = 120, |
| 56 | Friends = 121, | 75 | Friends = 121, |
| 57 | BCAT = 122, | 76 | BCAT = 122, |
| @@ -65,7 +84,7 @@ enum class ErrorModule : u32 { | |||
| 65 | AHID = 130, | 84 | AHID = 130, |
| 66 | Qlaunch = 132, | 85 | Qlaunch = 132, |
| 67 | PCV = 133, | 86 | PCV = 133, |
| 68 | OMM = 134, | 87 | USBPD = 134, |
| 69 | BPC = 135, | 88 | BPC = 135, |
| 70 | PSM = 136, | 89 | PSM = 136, |
| 71 | NIM = 137, | 90 | NIM = 137, |
| @@ -75,18 +94,22 @@ enum class ErrorModule : u32 { | |||
| 75 | NSD = 141, | 94 | NSD = 141, |
| 76 | PCTL = 142, | 95 | PCTL = 142, |
| 77 | BTM = 143, | 96 | BTM = 143, |
| 97 | LA = 144, | ||
| 78 | ETicket = 145, | 98 | ETicket = 145, |
| 79 | NGC = 146, | 99 | NGC = 146, |
| 80 | ERPT = 147, | 100 | ERPT = 147, |
| 81 | APM = 148, | 101 | APM = 148, |
| 102 | CEC = 149, | ||
| 82 | Profiler = 150, | 103 | Profiler = 150, |
| 83 | ErrorUpload = 151, | 104 | ErrorUpload = 151, |
| 105 | LIDBE = 152, | ||
| 84 | Audio = 153, | 106 | Audio = 153, |
| 85 | NPNS = 154, | 107 | NPNS = 154, |
| 86 | NPNSHTTPSTREAM = 155, | 108 | NPNSHTTPSTREAM = 155, |
| 87 | ARP = 157, | 109 | ARP = 157, |
| 88 | SWKBD = 158, | 110 | SWKBD = 158, |
| 89 | BOOT = 159, | 111 | BOOT = 159, |
| 112 | NetDiag = 160, | ||
| 90 | NFCMifare = 161, | 113 | NFCMifare = 161, |
| 91 | UserlandAssert = 162, | 114 | UserlandAssert = 162, |
| 92 | Fatal = 163, | 115 | Fatal = 163, |
| @@ -94,17 +117,68 @@ enum class ErrorModule : u32 { | |||
| 94 | SPSM = 165, | 117 | SPSM = 165, |
| 95 | BGTC = 167, | 118 | BGTC = 167, |
| 96 | UserlandCrash = 168, | 119 | UserlandCrash = 168, |
| 120 | SASBUS = 169, | ||
| 121 | PI = 170, | ||
| 122 | AudioCtrl = 172, | ||
| 123 | LBL = 173, | ||
| 124 | JIT = 175, | ||
| 125 | HDCP = 176, | ||
| 126 | OMM = 177, | ||
| 127 | PDM = 178, | ||
| 128 | OLSC = 179, | ||
| 97 | SREPO = 180, | 129 | SREPO = 180, |
| 98 | Dauth = 181, | 130 | Dauth = 181, |
| 131 | STDFU = 182, | ||
| 132 | DBG = 183, | ||
| 133 | DHCPS = 186, | ||
| 134 | SPI = 187, | ||
| 135 | AVM = 188, | ||
| 136 | PWM = 189, | ||
| 137 | RTC = 191, | ||
| 138 | Regulator = 192, | ||
| 139 | LED = 193, | ||
| 140 | SIO = 195, | ||
| 141 | PCM = 196, | ||
| 142 | CLKRST = 197, | ||
| 143 | POWCTL = 198, | ||
| 144 | AudioOld = 201, | ||
| 99 | HID = 202, | 145 | HID = 202, |
| 100 | LDN = 203, | 146 | LDN = 203, |
| 147 | CS = 204, | ||
| 101 | Irsensor = 205, | 148 | Irsensor = 205, |
| 102 | Capture = 206, | 149 | Capture = 206, |
| 103 | Manu = 208, | 150 | Manu = 208, |
| 104 | ATK = 209, | 151 | ATK = 209, |
| 152 | WEB = 210, | ||
| 153 | LCS = 211, | ||
| 105 | GRC = 212, | 154 | GRC = 212, |
| 155 | Repair = 213, | ||
| 156 | Album = 214, | ||
| 157 | RID = 215, | ||
| 106 | Migration = 216, | 158 | Migration = 216, |
| 107 | MigrationLdcServ = 217, | 159 | MigrationLdcServ = 217, |
| 160 | HIDBUS = 218, | ||
| 161 | ENS = 219, | ||
| 162 | WebSocket = 223, | ||
| 163 | DCDMTP = 227, | ||
| 164 | PGL = 228, | ||
| 165 | Notification = 229, | ||
| 166 | INS = 230, | ||
| 167 | LP2P = 231, | ||
| 168 | RCD = 232, | ||
| 169 | LCM40607 = 233, | ||
| 170 | PRC = 235, | ||
| 171 | TMAHTC = 237, | ||
| 172 | ECTX = 238, | ||
| 173 | MNPP = 239, | ||
| 174 | HSHL = 240, | ||
| 175 | CAPMTP = 242, | ||
| 176 | DP2HDMI = 244, | ||
| 177 | Cradle = 245, | ||
| 178 | SProfile = 246, | ||
| 179 | NDRM = 250, | ||
| 180 | TSPM = 499, | ||
| 181 | DevMenu = 500, | ||
| 108 | GeneralWebApplet = 800, | 182 | GeneralWebApplet = 800, |
| 109 | WifiWebAuthApplet = 809, | 183 | WifiWebAuthApplet = 809, |
| 110 | WhitelistedApplet = 810, | 184 | WhitelistedApplet = 810, |
diff --git a/src/core/hle/service/am/applets/applet_error.cpp b/src/core/hle/service/am/applets/applet_error.cpp index fcf34bf7e..bae0d99a6 100644 --- a/src/core/hle/service/am/applets/applet_error.cpp +++ b/src/core/hle/service/am/applets/applet_error.cpp | |||
| @@ -144,6 +144,7 @@ void Error::Initialize() { | |||
| 144 | break; | 144 | break; |
| 145 | default: | 145 | default: |
| 146 | UNIMPLEMENTED_MSG("Unimplemented LibAppletError mode={:02X}!", mode); | 146 | UNIMPLEMENTED_MSG("Unimplemented LibAppletError mode={:02X}!", mode); |
| 147 | break; | ||
| 147 | } | 148 | } |
| 148 | } | 149 | } |
| 149 | 150 | ||
diff --git a/src/core/hle/service/am/applets/applet_general_backend.cpp b/src/core/hle/service/am/applets/applet_general_backend.cpp index c34ef08b3..e50acdaf6 100644 --- a/src/core/hle/service/am/applets/applet_general_backend.cpp +++ b/src/core/hle/service/am/applets/applet_general_backend.cpp | |||
| @@ -129,6 +129,7 @@ void Auth::Execute() { | |||
| 129 | } | 129 | } |
| 130 | default: | 130 | default: |
| 131 | unimplemented_log(); | 131 | unimplemented_log(); |
| 132 | break; | ||
| 132 | } | 133 | } |
| 133 | } | 134 | } |
| 134 | 135 | ||
| @@ -192,6 +193,7 @@ void PhotoViewer::Execute() { | |||
| 192 | break; | 193 | break; |
| 193 | default: | 194 | default: |
| 194 | UNIMPLEMENTED_MSG("Unimplemented PhotoViewer applet mode={:02X}!", mode); | 195 | UNIMPLEMENTED_MSG("Unimplemented PhotoViewer applet mode={:02X}!", mode); |
| 196 | break; | ||
| 195 | } | 197 | } |
| 196 | } | 198 | } |
| 197 | 199 | ||
diff --git a/src/core/hle/service/nvdrv/devices/nvhost_ctrl_gpu.cpp b/src/core/hle/service/nvdrv/devices/nvhost_ctrl_gpu.cpp index ced57dfe6..b97813fbc 100644 --- a/src/core/hle/service/nvdrv/devices/nvhost_ctrl_gpu.cpp +++ b/src/core/hle/service/nvdrv/devices/nvhost_ctrl_gpu.cpp | |||
| @@ -300,11 +300,10 @@ Kernel::KEvent* nvhost_ctrl_gpu::QueryEvent(u32 event_id) { | |||
| 300 | return error_notifier_event; | 300 | return error_notifier_event; |
| 301 | case 2: | 301 | case 2: |
| 302 | return unknown_event; | 302 | return unknown_event; |
| 303 | default: { | 303 | default: |
| 304 | LOG_CRITICAL(Service_NVDRV, "Unknown Ctrl GPU Event {}", event_id); | 304 | LOG_CRITICAL(Service_NVDRV, "Unknown Ctrl GPU Event {}", event_id); |
| 305 | return nullptr; | ||
| 305 | } | 306 | } |
| 306 | } | ||
| 307 | return nullptr; | ||
| 308 | } | 307 | } |
| 309 | 308 | ||
| 310 | } // namespace Service::Nvidia::Devices | 309 | } // namespace Service::Nvidia::Devices |
diff --git a/src/core/hle/service/nvdrv/devices/nvhost_gpu.cpp b/src/core/hle/service/nvdrv/devices/nvhost_gpu.cpp index 45a759fa8..e123564c6 100644 --- a/src/core/hle/service/nvdrv/devices/nvhost_gpu.cpp +++ b/src/core/hle/service/nvdrv/devices/nvhost_gpu.cpp | |||
| @@ -364,11 +364,10 @@ Kernel::KEvent* nvhost_gpu::QueryEvent(u32 event_id) { | |||
| 364 | return sm_exception_breakpoint_pause_report_event; | 364 | return sm_exception_breakpoint_pause_report_event; |
| 365 | case 3: | 365 | case 3: |
| 366 | return error_notifier_event; | 366 | return error_notifier_event; |
| 367 | default: { | 367 | default: |
| 368 | LOG_CRITICAL(Service_NVDRV, "Unknown Ctrl GPU Event {}", event_id); | 368 | LOG_CRITICAL(Service_NVDRV, "Unknown Ctrl GPU Event {}", event_id); |
| 369 | return nullptr; | ||
| 369 | } | 370 | } |
| 370 | } | ||
| 371 | return nullptr; | ||
| 372 | } | 371 | } |
| 373 | 372 | ||
| 374 | } // namespace Service::Nvidia::Devices | 373 | } // namespace Service::Nvidia::Devices |
diff --git a/src/core/hle/service/service.cpp b/src/core/hle/service/service.cpp index 5ab41c0c4..0de67f1e1 100644 --- a/src/core/hle/service/service.cpp +++ b/src/core/hle/service/service.cpp | |||
| @@ -228,6 +228,7 @@ Result ServiceFrameworkBase::HandleSyncRequest(Kernel::KServerSession& session, | |||
| 228 | } | 228 | } |
| 229 | 229 | ||
| 230 | UNIMPLEMENTED_MSG("command_type={}", ctx.GetCommandType()); | 230 | UNIMPLEMENTED_MSG("command_type={}", ctx.GetCommandType()); |
| 231 | break; | ||
| 231 | } | 232 | } |
| 232 | 233 | ||
| 233 | // If emulation was shutdown, we are closing service threads, do not write the response back to | 234 | // If emulation was shutdown, we are closing service threads, do not write the response back to |
diff --git a/src/core/hle/service/time/time_zone_manager.cpp b/src/core/hle/service/time/time_zone_manager.cpp index 2aa675df9..f9ada7c93 100644 --- a/src/core/hle/service/time/time_zone_manager.cpp +++ b/src/core/hle/service/time/time_zone_manager.cpp | |||
| @@ -280,6 +280,7 @@ static constexpr int TransitionTime(int year, Rule rule, int offset) { | |||
| 280 | } | 280 | } |
| 281 | default: | 281 | default: |
| 282 | ASSERT(false); | 282 | ASSERT(false); |
| 283 | break; | ||
| 283 | } | 284 | } |
| 284 | return value + rule.transition_time + offset; | 285 | return value + rule.transition_time + offset; |
| 285 | } | 286 | } |
diff --git a/src/video_core/engines/maxwell_dma.cpp b/src/video_core/engines/maxwell_dma.cpp index 54523a4b2..1bf6ca2dd 100644 --- a/src/video_core/engines/maxwell_dma.cpp +++ b/src/video_core/engines/maxwell_dma.cpp | |||
| @@ -314,6 +314,7 @@ void MaxwellDMA::ReleaseSemaphore() { | |||
| 314 | } | 314 | } |
| 315 | default: | 315 | default: |
| 316 | ASSERT_MSG(false, "Unknown semaphore type: {}", static_cast<u32>(type.Value())); | 316 | ASSERT_MSG(false, "Unknown semaphore type: {}", static_cast<u32>(type.Value())); |
| 317 | break; | ||
| 317 | } | 318 | } |
| 318 | } | 319 | } |
| 319 | 320 | ||
diff --git a/src/video_core/engines/puller.cpp b/src/video_core/engines/puller.cpp index 3977bb0fb..4d2278811 100644 --- a/src/video_core/engines/puller.cpp +++ b/src/video_core/engines/puller.cpp | |||
| @@ -50,6 +50,7 @@ void Puller::ProcessBindMethod(const MethodCall& method_call) { | |||
| 50 | break; | 50 | break; |
| 51 | default: | 51 | default: |
| 52 | UNIMPLEMENTED_MSG("Unimplemented engine {:04X}", engine_id); | 52 | UNIMPLEMENTED_MSG("Unimplemented engine {:04X}", engine_id); |
| 53 | break; | ||
| 53 | } | 54 | } |
| 54 | } | 55 | } |
| 55 | 56 | ||
| @@ -65,6 +66,7 @@ void Puller::ProcessFenceActionMethod() { | |||
| 65 | break; | 66 | break; |
| 66 | default: | 67 | default: |
| 67 | UNIMPLEMENTED_MSG("Unimplemented operation {}", regs.fence_action.op.Value()); | 68 | UNIMPLEMENTED_MSG("Unimplemented operation {}", regs.fence_action.op.Value()); |
| 69 | break; | ||
| 68 | } | 70 | } |
| 69 | } | 71 | } |
| 70 | 72 | ||
| @@ -228,6 +230,7 @@ void Puller::CallEngineMethod(const MethodCall& method_call) { | |||
| 228 | break; | 230 | break; |
| 229 | default: | 231 | default: |
| 230 | UNIMPLEMENTED_MSG("Unimplemented engine"); | 232 | UNIMPLEMENTED_MSG("Unimplemented engine"); |
| 233 | break; | ||
| 231 | } | 234 | } |
| 232 | } | 235 | } |
| 233 | 236 | ||
| @@ -254,6 +257,7 @@ void Puller::CallEngineMultiMethod(u32 method, u32 subchannel, const u32* base_s | |||
| 254 | break; | 257 | break; |
| 255 | default: | 258 | default: |
| 256 | UNIMPLEMENTED_MSG("Unimplemented engine"); | 259 | UNIMPLEMENTED_MSG("Unimplemented engine"); |
| 260 | break; | ||
| 257 | } | 261 | } |
| 258 | } | 262 | } |
| 259 | 263 | ||
diff --git a/src/video_core/macro/macro_interpreter.cpp b/src/video_core/macro/macro_interpreter.cpp index c0d32c112..0d63495a9 100644 --- a/src/video_core/macro/macro_interpreter.cpp +++ b/src/video_core/macro/macro_interpreter.cpp | |||
| @@ -201,6 +201,7 @@ bool MacroInterpreterImpl::Step(bool is_delay_slot) { | |||
| 201 | } | 201 | } |
| 202 | default: | 202 | default: |
| 203 | UNIMPLEMENTED_MSG("Unimplemented macro operation {}", opcode.operation.Value()); | 203 | UNIMPLEMENTED_MSG("Unimplemented macro operation {}", opcode.operation.Value()); |
| 204 | break; | ||
| 204 | } | 205 | } |
| 205 | 206 | ||
| 206 | // An instruction with the Exit flag will not actually | 207 | // An instruction with the Exit flag will not actually |
| @@ -297,6 +298,7 @@ void MacroInterpreterImpl::ProcessResult(Macro::ResultOperation operation, u32 r | |||
| 297 | break; | 298 | break; |
| 298 | default: | 299 | default: |
| 299 | UNIMPLEMENTED_MSG("Unimplemented result operation {}", operation); | 300 | UNIMPLEMENTED_MSG("Unimplemented result operation {}", operation); |
| 301 | break; | ||
| 300 | } | 302 | } |
| 301 | } | 303 | } |
| 302 | 304 | ||
diff --git a/src/video_core/macro/macro_jit_x64.cpp b/src/video_core/macro/macro_jit_x64.cpp index 25c1ce798..7347cbd88 100644 --- a/src/video_core/macro/macro_jit_x64.cpp +++ b/src/video_core/macro/macro_jit_x64.cpp | |||
| @@ -652,6 +652,7 @@ void MacroJITx64Impl::Compile_ProcessResult(Macro::ResultOperation operation, u3 | |||
| 652 | break; | 652 | break; |
| 653 | default: | 653 | default: |
| 654 | UNIMPLEMENTED_MSG("Unimplemented macro operation {}", operation); | 654 | UNIMPLEMENTED_MSG("Unimplemented macro operation {}", operation); |
| 655 | break; | ||
| 655 | } | 656 | } |
| 656 | } | 657 | } |
| 657 | 658 | ||
diff --git a/src/video_core/renderer_opengl/gl_texture_cache.cpp b/src/video_core/renderer_opengl/gl_texture_cache.cpp index 99cd11d1e..9f7ce7414 100644 --- a/src/video_core/renderer_opengl/gl_texture_cache.cpp +++ b/src/video_core/renderer_opengl/gl_texture_cache.cpp | |||
| @@ -891,6 +891,7 @@ void Image::CopyBufferToImage(const VideoCommon::BufferImageCopy& copy, size_t b | |||
| 891 | break; | 891 | break; |
| 892 | default: | 892 | default: |
| 893 | ASSERT(false); | 893 | ASSERT(false); |
| 894 | break; | ||
| 894 | } | 895 | } |
| 895 | } | 896 | } |
| 896 | 897 | ||
| @@ -927,6 +928,7 @@ void Image::CopyImageToBuffer(const VideoCommon::BufferImageCopy& copy, size_t b | |||
| 927 | break; | 928 | break; |
| 928 | default: | 929 | default: |
| 929 | ASSERT(false); | 930 | ASSERT(false); |
| 931 | break; | ||
| 930 | } | 932 | } |
| 931 | // Compressed formats don't have a pixel format or type | 933 | // Compressed formats don't have a pixel format or type |
| 932 | const bool is_compressed = gl_format == GL_NONE; | 934 | const bool is_compressed = gl_format == GL_NONE; |
diff --git a/src/video_core/renderer_opengl/renderer_opengl.cpp b/src/video_core/renderer_opengl/renderer_opengl.cpp index 8bd5eba7e..f29462f7c 100644 --- a/src/video_core/renderer_opengl/renderer_opengl.cpp +++ b/src/video_core/renderer_opengl/renderer_opengl.cpp | |||
| @@ -340,6 +340,7 @@ void RendererOpenGL::ConfigureFramebufferTexture(TextureInfo& texture, | |||
| 340 | texture.gl_type = GL_UNSIGNED_INT_8_8_8_8_REV; | 340 | texture.gl_type = GL_UNSIGNED_INT_8_8_8_8_REV; |
| 341 | // UNIMPLEMENTED_MSG("Unknown framebuffer pixel format: {}", | 341 | // UNIMPLEMENTED_MSG("Unknown framebuffer pixel format: {}", |
| 342 | // static_cast<u32>(framebuffer.pixel_format)); | 342 | // static_cast<u32>(framebuffer.pixel_format)); |
| 343 | break; | ||
| 343 | } | 344 | } |
| 344 | 345 | ||
| 345 | texture.resource.Release(); | 346 | texture.resource.Release(); |
diff --git a/src/video_core/renderer_vulkan/vk_scheduler.cpp b/src/video_core/renderer_vulkan/vk_scheduler.cpp index 7934f2a51..4a7b633b7 100644 --- a/src/video_core/renderer_vulkan/vk_scheduler.cpp +++ b/src/video_core/renderer_vulkan/vk_scheduler.cpp | |||
| @@ -221,6 +221,7 @@ void Scheduler::SubmitExecution(VkSemaphore signal_semaphore, VkSemaphore wait_s | |||
| 221 | [[fallthrough]]; | 221 | [[fallthrough]]; |
| 222 | default: | 222 | default: |
| 223 | vk::Check(result); | 223 | vk::Check(result); |
| 224 | break; | ||
| 224 | } | 225 | } |
| 225 | }); | 226 | }); |
| 226 | chunk->MarkSubmit(); | 227 | chunk->MarkSubmit(); |
diff --git a/src/video_core/renderer_vulkan/vk_texture_cache.cpp b/src/video_core/renderer_vulkan/vk_texture_cache.cpp index 853b80d8a..a65bbeb1c 100644 --- a/src/video_core/renderer_vulkan/vk_texture_cache.cpp +++ b/src/video_core/renderer_vulkan/vk_texture_cache.cpp | |||
| @@ -108,6 +108,7 @@ constexpr VkBorderColor ConvertBorderColor(const std::array<float, 4>& color) { | |||
| 108 | break; | 108 | break; |
| 109 | default: | 109 | default: |
| 110 | ASSERT_MSG(false, "Invalid surface type"); | 110 | ASSERT_MSG(false, "Invalid surface type"); |
| 111 | break; | ||
| 111 | } | 112 | } |
| 112 | } | 113 | } |
| 113 | if (info.storage) { | 114 | if (info.storage) { |
diff --git a/src/video_core/textures/decoders.cpp b/src/video_core/textures/decoders.cpp index fd1a4b987..59120cd09 100644 --- a/src/video_core/textures/decoders.cpp +++ b/src/video_core/textures/decoders.cpp | |||
| @@ -170,6 +170,7 @@ void Swizzle(std::span<u8> output, std::span<const u8> input, u32 bytes_per_pixe | |||
| 170 | #undef BPP_CASE | 170 | #undef BPP_CASE |
| 171 | default: | 171 | default: |
| 172 | ASSERT_MSG(false, "Invalid bytes_per_pixel={}", bytes_per_pixel); | 172 | ASSERT_MSG(false, "Invalid bytes_per_pixel={}", bytes_per_pixel); |
| 173 | break; | ||
| 173 | } | 174 | } |
| 174 | } | 175 | } |
| 175 | 176 | ||
| @@ -217,6 +218,7 @@ void SwizzleSubrect(std::span<u8> output, std::span<const u8> input, u32 bytes_p | |||
| 217 | #undef BPP_CASE | 218 | #undef BPP_CASE |
| 218 | default: | 219 | default: |
| 219 | ASSERT_MSG(false, "Invalid bytes_per_pixel={}", bytes_per_pixel); | 220 | ASSERT_MSG(false, "Invalid bytes_per_pixel={}", bytes_per_pixel); |
| 221 | break; | ||
| 220 | } | 222 | } |
| 221 | } | 223 | } |
| 222 | 224 | ||
| @@ -240,6 +242,7 @@ void UnswizzleSubrect(std::span<u8> output, std::span<const u8> input, u32 bytes | |||
| 240 | #undef BPP_CASE | 242 | #undef BPP_CASE |
| 241 | default: | 243 | default: |
| 242 | ASSERT_MSG(false, "Invalid bytes_per_pixel={}", bytes_per_pixel); | 244 | ASSERT_MSG(false, "Invalid bytes_per_pixel={}", bytes_per_pixel); |
| 245 | break; | ||
| 243 | } | 246 | } |
| 244 | } | 247 | } |
| 245 | 248 | ||
diff --git a/src/yuzu/compatdb.cpp b/src/yuzu/compatdb.cpp index b03e71248..05f49c0d2 100644 --- a/src/yuzu/compatdb.cpp +++ b/src/yuzu/compatdb.cpp | |||
| @@ -126,6 +126,7 @@ void CompatDB::Submit() { | |||
| 126 | break; | 126 | break; |
| 127 | default: | 127 | default: |
| 128 | LOG_ERROR(Frontend, "Unexpected page: {}", currentId()); | 128 | LOG_ERROR(Frontend, "Unexpected page: {}", currentId()); |
| 129 | break; | ||
| 129 | } | 130 | } |
| 130 | } | 131 | } |
| 131 | 132 | ||
diff --git a/src/yuzu/configuration/configure_profile_manager.cpp b/src/yuzu/configuration/configure_profile_manager.cpp index 5c0217ba8..a47089988 100644 --- a/src/yuzu/configuration/configure_profile_manager.cpp +++ b/src/yuzu/configuration/configure_profile_manager.cpp | |||
| @@ -2,6 +2,9 @@ | |||
| 2 | // SPDX-License-Identifier: GPL-2.0-or-later | 2 | // SPDX-License-Identifier: GPL-2.0-or-later |
| 3 | 3 | ||
| 4 | #include <algorithm> | 4 | #include <algorithm> |
| 5 | #include <functional> | ||
| 6 | #include <QDialog> | ||
| 7 | #include <QDialogButtonBox> | ||
| 5 | #include <QFileDialog> | 8 | #include <QFileDialog> |
| 6 | #include <QGraphicsItem> | 9 | #include <QGraphicsItem> |
| 7 | #include <QHeaderView> | 10 | #include <QHeaderView> |
| @@ -108,9 +111,12 @@ ConfigureProfileManager::ConfigureProfileManager(const Core::System& system_, QW | |||
| 108 | 111 | ||
| 109 | connect(ui->pm_add, &QPushButton::clicked, this, &ConfigureProfileManager::AddUser); | 112 | connect(ui->pm_add, &QPushButton::clicked, this, &ConfigureProfileManager::AddUser); |
| 110 | connect(ui->pm_rename, &QPushButton::clicked, this, &ConfigureProfileManager::RenameUser); | 113 | connect(ui->pm_rename, &QPushButton::clicked, this, &ConfigureProfileManager::RenameUser); |
| 111 | connect(ui->pm_remove, &QPushButton::clicked, this, &ConfigureProfileManager::DeleteUser); | 114 | connect(ui->pm_remove, &QPushButton::clicked, this, |
| 115 | &ConfigureProfileManager::ConfirmDeleteUser); | ||
| 112 | connect(ui->pm_set_image, &QPushButton::clicked, this, &ConfigureProfileManager::SetUserImage); | 116 | connect(ui->pm_set_image, &QPushButton::clicked, this, &ConfigureProfileManager::SetUserImage); |
| 113 | 117 | ||
| 118 | confirm_dialog = new ConfigureProfileManagerDeleteDialog(this); | ||
| 119 | |||
| 114 | scene = new QGraphicsScene; | 120 | scene = new QGraphicsScene; |
| 115 | ui->current_user_icon->setScene(scene); | 121 | ui->current_user_icon->setScene(scene); |
| 116 | 122 | ||
| @@ -230,26 +236,23 @@ void ConfigureProfileManager::RenameUser() { | |||
| 230 | UpdateCurrentUser(); | 236 | UpdateCurrentUser(); |
| 231 | } | 237 | } |
| 232 | 238 | ||
| 233 | void ConfigureProfileManager::DeleteUser() { | 239 | void ConfigureProfileManager::ConfirmDeleteUser() { |
| 234 | const auto index = tree_view->currentIndex().row(); | 240 | const auto index = tree_view->currentIndex().row(); |
| 235 | const auto uuid = profile_manager->GetUser(index); | 241 | const auto uuid = profile_manager->GetUser(index); |
| 236 | ASSERT(uuid); | 242 | ASSERT(uuid); |
| 237 | const auto username = GetAccountUsername(*profile_manager, *uuid); | 243 | const auto username = GetAccountUsername(*profile_manager, *uuid); |
| 238 | 244 | ||
| 239 | const auto confirm = QMessageBox::question( | 245 | confirm_dialog->SetInfo(username, *uuid, [this, uuid]() { DeleteUser(*uuid); }); |
| 240 | this, tr("Confirm Delete"), | 246 | confirm_dialog->show(); |
| 241 | tr("You are about to delete user with name \"%1\". Are you sure?").arg(username)); | 247 | } |
| 242 | |||
| 243 | if (confirm == QMessageBox::No) { | ||
| 244 | return; | ||
| 245 | } | ||
| 246 | 248 | ||
| 249 | void ConfigureProfileManager::DeleteUser(const Common::UUID& uuid) { | ||
| 247 | if (Settings::values.current_user.GetValue() == tree_view->currentIndex().row()) { | 250 | if (Settings::values.current_user.GetValue() == tree_view->currentIndex().row()) { |
| 248 | Settings::values.current_user = 0; | 251 | Settings::values.current_user = 0; |
| 249 | } | 252 | } |
| 250 | UpdateCurrentUser(); | 253 | UpdateCurrentUser(); |
| 251 | 254 | ||
| 252 | if (!profile_manager->RemoveUser(*uuid)) { | 255 | if (!profile_manager->RemoveUser(uuid)) { |
| 253 | return; | 256 | return; |
| 254 | } | 257 | } |
| 255 | 258 | ||
| @@ -319,3 +322,47 @@ void ConfigureProfileManager::SetUserImage() { | |||
| 319 | new QStandardItem{GetIcon(*uuid), FormatUserEntryText(username, *uuid)}); | 322 | new QStandardItem{GetIcon(*uuid), FormatUserEntryText(username, *uuid)}); |
| 320 | UpdateCurrentUser(); | 323 | UpdateCurrentUser(); |
| 321 | } | 324 | } |
| 325 | |||
| 326 | ConfigureProfileManagerDeleteDialog::ConfigureProfileManagerDeleteDialog(QWidget* parent) | ||
| 327 | : QDialog{parent} { | ||
| 328 | auto dialog_vbox_layout = new QVBoxLayout(this); | ||
| 329 | dialog_button_box = | ||
| 330 | new QDialogButtonBox(QDialogButtonBox::Yes | QDialogButtonBox::No, Qt::Horizontal, parent); | ||
| 331 | auto label_message = | ||
| 332 | new QLabel(tr("Delete this user? All of the user's save data will be deleted."), this); | ||
| 333 | label_info = new QLabel(this); | ||
| 334 | auto dialog_hbox_layout_widget = new QWidget(this); | ||
| 335 | auto dialog_hbox_layout = new QHBoxLayout(dialog_hbox_layout_widget); | ||
| 336 | icon_scene = new QGraphicsScene(0, 0, 64, 64, this); | ||
| 337 | auto icon_view = new QGraphicsView(icon_scene, this); | ||
| 338 | |||
| 339 | dialog_hbox_layout_widget->setLayout(dialog_hbox_layout); | ||
| 340 | icon_view->setMaximumSize(64, 64); | ||
| 341 | icon_view->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); | ||
| 342 | icon_view->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); | ||
| 343 | this->setLayout(dialog_vbox_layout); | ||
| 344 | this->setWindowTitle(tr("Confirm Delete")); | ||
| 345 | this->setSizeGripEnabled(false); | ||
| 346 | dialog_vbox_layout->addWidget(label_message); | ||
| 347 | dialog_vbox_layout->addWidget(dialog_hbox_layout_widget); | ||
| 348 | dialog_vbox_layout->addWidget(dialog_button_box); | ||
| 349 | dialog_hbox_layout->addWidget(icon_view); | ||
| 350 | dialog_hbox_layout->addWidget(label_info); | ||
| 351 | |||
| 352 | connect(dialog_button_box, &QDialogButtonBox::rejected, this, [this]() { close(); }); | ||
| 353 | } | ||
| 354 | |||
| 355 | ConfigureProfileManagerDeleteDialog::~ConfigureProfileManagerDeleteDialog() = default; | ||
| 356 | |||
| 357 | void ConfigureProfileManagerDeleteDialog::SetInfo(const QString& username, const Common::UUID& uuid, | ||
| 358 | std::function<void()> accept_callback) { | ||
| 359 | label_info->setText( | ||
| 360 | tr("Name: %1\nUUID: %2").arg(username, QString::fromStdString(uuid.FormattedString()))); | ||
| 361 | icon_scene->clear(); | ||
| 362 | icon_scene->addPixmap(GetIcon(uuid)); | ||
| 363 | |||
| 364 | connect(dialog_button_box, &QDialogButtonBox::accepted, this, [this, accept_callback]() { | ||
| 365 | close(); | ||
| 366 | accept_callback(); | ||
| 367 | }); | ||
| 368 | } | ||
diff --git a/src/yuzu/configuration/configure_profile_manager.h b/src/yuzu/configuration/configure_profile_manager.h index fe9033779..c4b1a334e 100644 --- a/src/yuzu/configuration/configure_profile_manager.h +++ b/src/yuzu/configuration/configure_profile_manager.h | |||
| @@ -3,16 +3,24 @@ | |||
| 3 | 3 | ||
| 4 | #pragma once | 4 | #pragma once |
| 5 | 5 | ||
| 6 | #include <functional> | ||
| 6 | #include <memory> | 7 | #include <memory> |
| 7 | 8 | ||
| 9 | #include <QDialog> | ||
| 8 | #include <QList> | 10 | #include <QList> |
| 9 | #include <QWidget> | 11 | #include <QWidget> |
| 10 | 12 | ||
| 13 | namespace Common { | ||
| 14 | struct UUID; | ||
| 15 | } | ||
| 16 | |||
| 11 | namespace Core { | 17 | namespace Core { |
| 12 | class System; | 18 | class System; |
| 13 | } | 19 | } |
| 14 | 20 | ||
| 15 | class QGraphicsScene; | 21 | class QGraphicsScene; |
| 22 | class QDialogButtonBox; | ||
| 23 | class QLabel; | ||
| 16 | class QStandardItem; | 24 | class QStandardItem; |
| 17 | class QStandardItemModel; | 25 | class QStandardItemModel; |
| 18 | class QTreeView; | 26 | class QTreeView; |
| @@ -26,6 +34,20 @@ namespace Ui { | |||
| 26 | class ConfigureProfileManager; | 34 | class ConfigureProfileManager; |
| 27 | } | 35 | } |
| 28 | 36 | ||
| 37 | class ConfigureProfileManagerDeleteDialog : public QDialog { | ||
| 38 | public: | ||
| 39 | explicit ConfigureProfileManagerDeleteDialog(QWidget* parent); | ||
| 40 | ~ConfigureProfileManagerDeleteDialog(); | ||
| 41 | |||
| 42 | void SetInfo(const QString& username, const Common::UUID& uuid, | ||
| 43 | std::function<void()> accept_callback); | ||
| 44 | |||
| 45 | private: | ||
| 46 | QDialogButtonBox* dialog_button_box; | ||
| 47 | QGraphicsScene* icon_scene; | ||
| 48 | QLabel* label_info; | ||
| 49 | }; | ||
| 50 | |||
| 29 | class ConfigureProfileManager : public QWidget { | 51 | class ConfigureProfileManager : public QWidget { |
| 30 | Q_OBJECT | 52 | Q_OBJECT |
| 31 | 53 | ||
| @@ -47,7 +69,8 @@ private: | |||
| 47 | void SelectUser(const QModelIndex& index); | 69 | void SelectUser(const QModelIndex& index); |
| 48 | void AddUser(); | 70 | void AddUser(); |
| 49 | void RenameUser(); | 71 | void RenameUser(); |
| 50 | void DeleteUser(); | 72 | void ConfirmDeleteUser(); |
| 73 | void DeleteUser(const Common::UUID& uuid); | ||
| 51 | void SetUserImage(); | 74 | void SetUserImage(); |
| 52 | 75 | ||
| 53 | QVBoxLayout* layout; | 76 | QVBoxLayout* layout; |
| @@ -55,6 +78,8 @@ private: | |||
| 55 | QStandardItemModel* item_model; | 78 | QStandardItemModel* item_model; |
| 56 | QGraphicsScene* scene; | 79 | QGraphicsScene* scene; |
| 57 | 80 | ||
| 81 | ConfigureProfileManagerDeleteDialog* confirm_dialog; | ||
| 82 | |||
| 58 | std::vector<QList<QStandardItem*>> list_items; | 83 | std::vector<QList<QStandardItem*>> list_items; |
| 59 | 84 | ||
| 60 | std::unique_ptr<Ui::ConfigureProfileManager> ui; | 85 | std::unique_ptr<Ui::ConfigureProfileManager> ui; |
diff --git a/src/yuzu/configuration/configure_profile_manager.ui b/src/yuzu/configuration/configure_profile_manager.ui index cfe7478c8..bd6dea4f4 100644 --- a/src/yuzu/configuration/configure_profile_manager.ui +++ b/src/yuzu/configuration/configure_profile_manager.ui | |||
| @@ -57,6 +57,12 @@ | |||
| 57 | <height>48</height> | 57 | <height>48</height> |
| 58 | </size> | 58 | </size> |
| 59 | </property> | 59 | </property> |
| 60 | <property name="frameShape"> | ||
| 61 | <enum>QFrame::NoFrame</enum> | ||
| 62 | </property> | ||
| 63 | <property name="frameShadow"> | ||
| 64 | <enum>QFrame::Plain</enum> | ||
| 65 | </property> | ||
| 60 | <property name="verticalScrollBarPolicy"> | 66 | <property name="verticalScrollBarPolicy"> |
| 61 | <enum>Qt::ScrollBarAlwaysOff</enum> | 67 | <enum>Qt::ScrollBarAlwaysOff</enum> |
| 62 | </property> | 68 | </property> |
diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp index 72498f52a..7ee2302cc 100644 --- a/src/yuzu/main.cpp +++ b/src/yuzu/main.cpp | |||
| @@ -1956,6 +1956,7 @@ void GMainWindow::OnGameListOpenFolder(u64 program_id, GameListOpenTarget target | |||
| 1956 | } | 1956 | } |
| 1957 | default: | 1957 | default: |
| 1958 | UNIMPLEMENTED(); | 1958 | UNIMPLEMENTED(); |
| 1959 | break; | ||
| 1959 | } | 1960 | } |
| 1960 | 1961 | ||
| 1961 | const QString qpath = QString::fromStdString(Common::FS::PathToUTF8String(path)); | 1962 | const QString qpath = QString::fromStdString(Common::FS::PathToUTF8String(path)); |
| @@ -3199,6 +3200,7 @@ void GMainWindow::OnToggleGpuAccuracy() { | |||
| 3199 | case Settings::GPUAccuracy::Extreme: | 3200 | case Settings::GPUAccuracy::Extreme: |
| 3200 | default: { | 3201 | default: { |
| 3201 | Settings::values.gpu_accuracy.SetValue(Settings::GPUAccuracy::High); | 3202 | Settings::values.gpu_accuracy.SetValue(Settings::GPUAccuracy::High); |
| 3203 | break; | ||
| 3202 | } | 3204 | } |
| 3203 | } | 3205 | } |
| 3204 | 3206 | ||
| @@ -3531,6 +3533,7 @@ void GMainWindow::UpdateGPUAccuracyButton() { | |||
| 3531 | default: { | 3533 | default: { |
| 3532 | gpu_accuracy_button->setText(tr("GPU ERROR")); | 3534 | gpu_accuracy_button->setText(tr("GPU ERROR")); |
| 3533 | gpu_accuracy_button->setChecked(true); | 3535 | gpu_accuracy_button->setChecked(true); |
| 3536 | break; | ||
| 3534 | } | 3537 | } |
| 3535 | } | 3538 | } |
| 3536 | } | 3539 | } |
diff --git a/src/yuzu_cmd/emu_window/emu_window_sdl2_vk.cpp b/src/yuzu_cmd/emu_window/emu_window_sdl2_vk.cpp index 65455c86e..25948328c 100644 --- a/src/yuzu_cmd/emu_window/emu_window_sdl2_vk.cpp +++ b/src/yuzu_cmd/emu_window/emu_window_sdl2_vk.cpp | |||
| @@ -84,6 +84,7 @@ EmuWindow_SDL2_VK::EmuWindow_SDL2_VK(InputCommon::InputSubsystem* input_subsyste | |||
| 84 | default: | 84 | default: |
| 85 | LOG_CRITICAL(Frontend, "Window manager subsystem not implemented"); | 85 | LOG_CRITICAL(Frontend, "Window manager subsystem not implemented"); |
| 86 | std::exit(EXIT_FAILURE); | 86 | std::exit(EXIT_FAILURE); |
| 87 | break; | ||
| 87 | } | 88 | } |
| 88 | 89 | ||
| 89 | OnResize(); | 90 | OnResize(); |
diff --git a/src/yuzu_cmd/yuzu.cpp b/src/yuzu_cmd/yuzu.cpp index e16f79eb4..dfe5a30ea 100644 --- a/src/yuzu_cmd/yuzu.cpp +++ b/src/yuzu_cmd/yuzu.cpp | |||
| @@ -351,6 +351,7 @@ int main(int argc, char** argv) { | |||
| 351 | "additional help.\n\nError Code: {:04X}-{:04X}\nError Description: {}", | 351 | "additional help.\n\nError Code: {:04X}-{:04X}\nError Description: {}", |
| 352 | loader_id, error_id, static_cast<Loader::ResultStatus>(error_id)); | 352 | loader_id, error_id, static_cast<Loader::ResultStatus>(error_id)); |
| 353 | } | 353 | } |
| 354 | break; | ||
| 354 | } | 355 | } |
| 355 | 356 | ||
| 356 | system.TelemetrySession().AddField(Common::Telemetry::FieldType::App, "Frontend", "SDL"); | 357 | system.TelemetrySession().AddField(Common::Telemetry::FieldType::App, "Frontend", "SDL"); |