Commit Graph
100 Commits
Author SHA1 Message Date
Scott Mansell 94eceb35e8 Enable fallthrough warnings for msvc++ 2026-08-08 13:18:32 +12:00
Scott Mansell 02bffba368 Enable implicit fallthrough warnings for gcc/clang 2026-08-08 13:18:32 +12:00
Scott Mansell a6cf98332b Fix fallthough in CodeView/MemoryView widgets
This slightly changes the behaviour, but I think this is more correct.
2026-08-08 13:18:32 +12:00
Scott Mansell 7de31b291e Fix missing break in BluetoothRealDevice
Minor behaviour change, prevents an erroreous error log
2026-08-08 13:16:57 +12:00
Scott Mansell ca33c38afd Add missing breaks (no behaviour change) 2026-08-08 13:14:06 +12:00
Scott Mansell 1c4208e1fb Add fallthroughs to OpenGL InitExtentionList 2026-08-07 20:41:59 +12:00
Scott Mansell 4a10a9c634 Add fallthroughs to GetMurmurHash3 2026-08-07 19:27:41 +12:00
Scott Mansell 430138f468 Merge pull request #14798 from sepalani/bitcast-noptr
Common/BitCastPtr: Prevent destination type to be a pointer
2026-08-07 14:55:50 +12:00
Scott Mansell 9c5ff6b248 Mach exception thread: Fix msg alignment
msg_in and msg_out were ending up with only 4-byte alignment, which
is undefined behaviour, since they contain 64-bit fields. Probably
doesn't cause any issues, but it showed up in ubsan.
2026-08-03 22:46:45 +12:00
Scott Mansell 35925ceb15 Merge pull request #14777 from tygyh/Use-designated-constructors
Use designated constructors
2026-08-02 15:59:42 +12:00
Scott Mansell 5c6dcce721 Merge pull request #14758 from JoshuaVandaele/egl-platform-nowayland
Forbid EGL_PLATFORM to be "wayland"
2026-08-02 02:57:00 +12:00
Scott Mansell 3c63788e01 Merge pull request #14776 from tygyh/Core/Use-static-cast
Replace functional cast with `static_cast`
2026-08-01 22:17:15 +12:00
Scott Mansell 463bcb8aeb Merge pull request #14781 from sepalani/gai-error
IP/Top: Add getaddrinfo() error log message
2026-08-01 22:15:10 +12:00
Scott Mansell f1b4345d08 Merge pull request #14755 from JoshuaVandaele/cmakeupd-qt-useless-dlls
windeployqt: Disable uneeded DLLs
2026-07-31 18:00:43 +12:00
Scott Mansell 3bd410c4c5 Merge pull request #14775 from tygyh/Replace-zero-constants-with-nullptr
Replace zero constants with `nullptr`
2026-07-31 13:49:48 +12:00
Scott Mansell 74c51895c8 Merge pull request #13452 from tygyh/Use-structured-binding-DolphinQt-FifoAnalyzer
DolphinQt/FIFO/FifoAnalyzer: Use structured bindings
2026-07-31 01:02:32 +12:00
Scott Mansell 5e1e4dbc4c Merge pull request #14778 from JoshuaVandaele/about-enable-sdl
AboutDialog: Fix compilation with ENABLE_SDL=OFF
2026-07-31 00:57:12 +12:00
Scott Mansell dbbe5c403e Make sure CMAKE_OSX_SYSROOT is set
Otherwise we can get some really weird build issues
2026-07-30 23:36:01 +12:00
Scott Mansell 20fea85b53 Merge pull request #14765 from slick-daddy/opt-6
InputCommon: return the device list directly in GetAllDevices
2026-07-30 21:10:41 +12:00
Scott Mansell 73de7b8d3e Merge pull request #13502 from tygyh/Replace-lazy-implementation-Tools-find-includes-cycles
Tools/find-includes-cycles: Replace lazy implementation
2026-07-29 18:25:39 +12:00
Scott Mansell e9317dbe48 Merge pull request #14115 from techflashYT/elf-loader-fix
Core/Boot: Fix ELF load address semantics
2026-07-29 18:12:24 +12:00
Scott Mansell a7345f8bde Merge pull request #14753 from matellush/flatpak-libevdev
Flatpak: Bump `libevdev` to the latest version
2026-07-29 17:52:35 +12:00
Scott Mansell c863abc0d3 Merge pull request #14770 from JoshuaVandaele/gen-approved-hash
AchievementApprovedHash: Automatically generate hash using CMake
2026-07-29 17:49:48 +12:00
Scott Mansell 9b726fd56b Merge pull request #13543 from tygyh/DiscIO-Use-views-keys
DiscIO: Use views::keys
2026-07-29 17:49:24 +12:00
Scott Mansell a3a5834100 Merge pull request #14766 from phire/security/dol_reader
DolReader: Fix integer wraparound
2026-07-29 13:30:04 +12:00
Scott Mansell 1c10b9e9ab Merge pull request #14738 from tygyh/Replace-concatination-with-stdformat
Replace string concatination with `fmt::format`
2026-07-29 13:28:58 +12:00
Scott Mansell 475f35e2fa Merge pull request #14747 from AdmiralCurtiss/dsp-hle-oob
HW/DSPHLE/AXVoice: Check array bounds in ApplyUpdatesForMs()
2026-07-29 13:26:27 +12:00
Scott Mansell 443094f020 Merge pull request #14751 from JoshuaVandaele/vendor-flatpak-sdl
Flatpak: Use vendored-in SDL
2026-07-29 13:26:04 +12:00
Scott Mansell fa80e2bc9a Merge pull request #14754 from JoshuaVandaele/cmakeupd-sdl-3412
Externals/SDL: Update to release-3.4.12
2026-07-29 13:25:29 +12:00
Scott Mansell 3c4659ce34 Merge pull request #14757 from JoshuaVandaele/cmake-version-check
CMake: Improve our version checking
2026-07-29 13:24:59 +12:00
Scott Mansell bc6688c0aa Merge pull request #14752 from JoshuaVandaele/about-sdl
AboutDialog: Report the SDL version being used
2026-07-29 13:23:16 +12:00
Scott Mansell 4782a04c20 GCZ: use 64-bit for m_data_offset
A malicious GCZ file could probably force this to be negative.
Shouldn't cause any issues other than file read failures, but need to fix
because it is causing errors on MSVC.
2026-07-28 19:44:49 +12:00
Scott Mansell feeb36bf07 GCZ: validate while loading 2026-07-28 19:44:49 +12:00
Scott Mansell ffb0e2c594 GCZ: Don't trust block_num either
SectorReader::ReadChunk does do some validation on it, but it only
checks against the original disc size (reported by the GCZ file).
It has no idea how many blocks the header claimed the disc had.

A maliciously crafted GCZ file could trigger read overflows off the end
of the m_block_pointers/m_hashes arrays.
2026-07-28 19:44:49 +12:00
Scott Mansell a3740b5f71 GCZ: Don't trust GetBlockCompressedSize
It comes unverified from the file, and a maliciously crafted file could
trigger not one, but two buffer overflows in the heap.
2026-07-28 19:44:49 +12:00
Scott Mansell 8fb464040c DolReader: Fix integer wraparound
A malicious dol could theoretically use integer wraparound to bypass
bounds checking and cause DolReader to read past the end of m_bytes.

Could result in crashes, wasting large amounts of memory, or even the
disclosure of heap memory contents.
2026-07-27 21:15:51 +12:00
Scott Mansell 03e409a3e1 Merge pull request #14749 from tygyh/Replace-conditions-with-regex
UICommon: Replace `find != std::npos` with `contains`
2026-07-23 09:27:47 +12:00
Scott Mansell b008142f72 Merge pull request #14436 from cbartondock/master
Loading custom textures using combination of elf/dol game ids and iso game ids.
2026-07-22 09:54:01 +12:00
Scott Mansell 00626b263f Merge pull request #14744 from acts-1631/security/elf-reader-bounds
Core/Boot: validate standalone ELF input ranges
2026-07-21 14:58:38 +12:00
Scott Mansell cb9df12645 Merge pull request #14739 from JoshuaVandaele/mod-convert
GameFile: Disallow mods from being converted
2026-07-20 12:34:50 +12:00
Scott Mansell b6d8bc299e Merge pull request #14726 from JosJuice/gcadapter-deregister-on-thread-end
GCAdapter: Deregister callback when scan thread exits
2026-07-16 08:58:02 +12:00
Scott Mansell fd8391a852 Merge pull request #14263 from JoshuaVandaele/ccache-toggle
CCache: Set as opt-in by default
2026-07-15 17:48:30 +12:00
Scott Mansell 566519d135 Merge pull request #14222 from Sintendo/ppcsymboldb-lookup
PPCSymbolDB: Avoid double lookups
2026-07-15 17:46:54 +12:00
Scott Mansell ee5eba860d Merge pull request #14651 from DacoTaco/fixes/dolalignment
fixes: make dolreader validate section addresses and sizes
2026-07-15 17:08:11 +12:00
Scott Mansell 552126a0e6 Merge pull request #14675 from JosJuice/game-ini-gbihf-texcache
GameSettings: Remove SafeTextureCacheColorSamples from gbihf
2026-07-15 17:01:46 +12:00
Scott Mansell 1ab4403c23 Merge pull request #14703 from JoshuaVandaele/miniupnpc-arm64-cross
Externals/miniupnpc: Disable warnings
2026-07-15 17:00:28 +12:00
Scott Mansell d895ed7d5c Merge pull request #14722 from idkwhere1sthisname/master
IOS/ES: allow Wii System Transfer and WagonCompat Transfer Tool to pass SetUID check
2026-07-15 16:45:43 +12:00
Scott Mansell 09fbe2a930 Merge pull request #14729 from JoshuaVandaele/fix-clang-libstdcpp
PerformanceMetrics: Fix compiling using clang&libstdc++
2026-07-14 20:24:24 +12:00
Scott Mansell fc9fd6952a Merge pull request #14665 from cristian64/simulated_memory_size
Core: Adjust emulated memory size automatically.
2026-07-12 11:34:44 +12:00
Scott Mansell aaeb6e5dc1 Merge pull request #14479 from JoshuaVandaele/dsp_interc_rm
docs/DSP: Remove DSP_InterC
2026-07-09 13:35:35 +12:00
Scott Mansell d3c4061c42 Merge pull request #12826 from MayImilae/newdefaultbadges
RetroAchievements - New Default Badges
2024-06-05 20:15:48 +12:00
Scott Mansell dbe7616bdd Merge pull request #12817 from iwubcode/imgui-mouse-position-event
VideoCommon: use imgui mouse position event when the mouse position changes
2024-06-05 18:50:26 +12:00
Scott Mansell a57962cedb Merge pull request #12825 from iwubcode/texture_cache_sampler_split
VideoCommon: pull texture sampler out of texture cache for later reuse
2024-06-05 18:16:24 +12:00
Scott Mansell 4acdbc0e84 Merge pull request #11625 from phire/eventhook_nodiscard
Fix KillRenderer config changed regression
2023-03-06 03:09:12 +13:00
Scott Mansell 901f12c935 HookableEvents: Add [[nodiscard]] to Register 2023-03-06 00:12:26 +13:00
Scott Mansell b7db2510ef Don't discard ConfigChanged callback handle 2023-03-06 00:12:26 +13:00
Scott Mansell cecf2d25d6 Merge pull request #11624 from phire/fix_duplicate_fps
Fix duplicated FPS
2023-03-05 23:50:55 +13:00
Scott Mansell 70cfb46f8e Fix duplicated FPS
This is a small regression from KillRenderer, which caused duplicated
frames to be counted on the FPS counter when the "Skip Presenting
Duplicated Frames" option was disabled.
2023-03-05 23:31:12 +13:00
Scott Mansell a306da2f80 Bump requried Clang to 12 (AppleClang 13.0.0) 2023-02-23 15:27:57 +13:00
Scott Mansell f34a09b39f Enforce minimum supported versions of GCC and Clang
We already have a minimum required version of MSVC
2023-02-23 15:18:38 +13:00
Scott Mansell 28331c5905 Merge pull request #11574 from K0bin/val-fix
VideoBackends:Vulkan: Fix printing validation errors
2023-02-17 14:52:45 +13:00
Scott Mansell 6038a6e2db Merge pull request #11569 from Hibyehello/patch-1
VideoBackend: Make Metal Default on MacOS
2023-02-16 21:08:35 +13:00
Scott Mansell ba3c38a63f Merge pull request #11406 from Pokechu22/intel-less-dual-source
VideoCommon: Clear blend configuration if color/alpha update disabled
2023-02-14 18:27:40 +13:00
Scott Mansell 05181f6b88 HookableEvent: Switch to construct on first use
A registration might happen during static initialization, which opens
us up to issues with ordering of static initialization.
2023-02-13 18:48:43 +13:00
Scott Mansell 1fc5d37fd2 Merge pull request #11558 from Pokechu22/vertex-loader-size-assertion-details
VertexLoader: Add more info to m_vertex_size == m_src_ofs assertion
2023-02-13 17:34:04 +13:00
Scott Mansell a4729a026f Merge pull request #11554 from JosJuice/host-lock-cpu
DolphinQt: Properly lock CPU before accessing emulated memory
2023-02-13 16:08:36 +13:00
Scott Mansell f37113204f Merge pull request #11550 from iwubcode/set_common_samplers_count
VideoCommon: add constant value for maximum number of pixel samplers
2023-02-13 16:05:51 +13:00
Scott Mansell 2c24d07837 Merge pull request #11538 from t895/disc-speed-stuff
Rename "Speed up Disc Transfer Rate" to "Emulate Disc Speed"
2023-02-13 15:46:56 +13:00
Scott Mansell dad7a32a35 Merge pull request #11534 from Pokechu22/warning-fixes-feb-2023
Resolve various compiler warnings
2023-02-10 21:21:15 +13:00
Scott Mansell aaad0cd39f Merge pull request #11539 from phire/improve_workqueuethread
Various WorkQueueThread improvements
2023-02-09 20:00:04 +13:00
Scott Mansell ccf92a3e56 Merge pull request #11522 from phire/KillRendererWithFire
Kill Renderer (with phire)
2023-02-09 19:59:16 +13:00
Scott Mansell 5c1b3ac61d Hook up Presenter's ConfigChanged function
Fixes issue with post-processing not working
2023-02-09 18:36:20 +13:00
Scott Mansell 9c1fe59cc9 Insert a more solid abstraction between Qt and Imgui 2023-02-09 18:36:20 +13:00
Scott Mansell b2a31103b4 Presenter: Handle blanked frames correctly 2023-02-09 18:36:20 +13:00
Scott Mansell 83b7b01265 Fix XFB duplicate detection
Frame duplicate detection was inverted. Huge problem for 60fps games
where it would see all frames as "duplicates" and nothing would ever be
presented.
2023-02-09 18:36:20 +13:00
Scott Mansell d3ddd96cee Make sure m_prev_efb_format is initilized 2023-02-09 18:36:20 +13:00
Scott Mansell 59a4b026f6 Better documentation for HookableEvent. 2023-02-09 18:36:20 +13:00
Scott Mansell 8c8bd0e7ac Rename to HookableEvent. Because naming conflict 2023-02-09 18:36:20 +13:00
60f2b5af7b Apply suggestions from code review
Co-authored-by: Mai <[email protected]>
Co-authored-by: BhaaL <[email protected]>
Co-authored-by: iwubcode <[email protected]>
2023-02-09 18:36:20 +13:00
Scott Mansell e0a1631659 Add comment about "end of frame" 2023-02-09 18:36:20 +13:00
Scott MansellandMai 43b6a49012 Apply suggestions from code review
Co-authored-by: Mai <[email protected]>
2023-02-09 18:36:20 +13:00
Scott MansellandBhaaL 05fad53fa0 Update STATE_VERSION
Co-authored-by: BhaaL <[email protected]>
2023-02-09 18:36:20 +13:00
Scott Mansell e2de281897 Make sure pixel shaders pick up Initial EFB Scale 2023-02-09 18:36:20 +13:00
Scott Mansell cf9a6f8477 Lint fixes 2023-02-09 18:36:20 +13:00
Scott Mansell f7ad825736 fix fbdev 2023-02-09 18:36:20 +13:00
Scott Mansell 628af9d564 Fix builds with FFMPEG disabled 2023-02-09 18:36:20 +13:00
Scott Mansell 4422af1272 Cleanup headers 2023-02-09 18:36:20 +13:00
Scott Mansell 5803786beb Move UseVertexDepthRange() out of Renderer
There wasn't really a good place for it, but this will do
2023-02-09 18:36:20 +13:00
Scott Mansell 2cfc02a116 Move m_prev_efb_format into FramebufferManager 2023-02-09 18:36:20 +13:00
Scott Mansell 9b5397abdb Move WidescreenHeuristic to it's own class
It's about the only thing left in renderer
2023-02-09 18:36:20 +13:00
Scott Mansell 31cfe8250d Lint fixes 2023-02-09 18:36:20 +13:00
Scott Mansell 11de923dcb Move xfb tracking and IR scaling out of RenderBase 2023-02-09 18:36:20 +13:00
Scott Mansell e009002411 Refactor ClearRegion
And fix bug where opengl was getting the wrong coordinates
2023-02-09 18:36:20 +13:00
Scott Mansell 72b22ef0a5 Merge pull request #11543 from deReeperJosh/skylanderslistfixes
Skylanders Portal: Remove Imaginators Skylanders from list
2023-02-06 15:32:41 +13:00
Scott Mansell 2ff155f742 Optimise cond_var predicate order
m_items.empty() is by far the most likely reason for a notification.
2023-02-05 17:20:00 +13:00
Scott Mansell 271ffde71d Prevent WaitForCompletion shutdown deadlock.
Adjust shutdown order to prevent potential deadlocks
when one thread calls Shutdown, and another calls WaitForCompletion.
2023-02-05 17:17:16 +13:00
Scott Mansell 9c012b09b3 Address review feedback 2023-02-05 16:52:53 +13:00
Scott Mansell 7c4fcc30a3 WorkQueueThread: provide name and function at same time 2023-02-04 15:56:27 +13:00
Scott Mansell 6594532f10 WorkQueueThread: rework Cancel/Shutdown workflow
- Cancel doesn't shut down anymore.
   Allowing it to be used multiple times thoughout the life of
   the WorkQueue
 - Remove Clear, so we only have Cancel semantics
 - Add IsCancelling so work items can abort early if cancelling
 - Replace m_cancelled and m_thread.joinable() guars with m_shutdown.
 - Rename Flush to WaitForCompletion (As it's ambiguous if a function
   called flush should be blocking or not)
 - Add documentation
2023-02-04 14:58:12 +13:00
Scott Mansell acdb0c5be1 WorkQueueThread: Implement thread name
Otherwise we will end up with a dozen threads named "WorkQueueThread"
2023-02-04 14:58:12 +13:00