Commits
- 3f50257 GPU/TextureCache: Dump textures to first disc directory
- 23d79f8 Qt: Fix themed slider disabled state
- 45460b9 PostProcessing/Slang: Skip over C-style comments in preset files
- ae44fa6 PostProcessing/Slang: Support parsing simple/reference presets
- 495141a Qt: Fix postfx shader list with multiple nesting levels
- 8bb8fdd Update gpu_hw_shadergen.cpp (#3728)
- 558973f GPU/HW: Fix rare VRAM corruption after state load
- 0d60433 GameDB: Otona no Asobi again
- 4d95bb3 OpenGLDevice: Fix various issues in stream buffer
- bbffe72 OpenGLDevice: Disable PBOs completely on NVIDIA
- c7027a2 CDROM: Fix off-by-one error
- c204170 FullscreenUI: Always reset transition before executing it
- 650c60e FullscreenUI: Fix fade transition on game exit
- 73a74b3 System: Remove unnecessary state function
- a94a90f CPU: Fix some unlikely-to-be-triggered issues
- 566ef44 DMA: Fix DICR register write mask
- ac7aa0d GPU: Fix incorrect debug log message
- 5823a01 MDEC: Fix incorrect halfword tracking for some commands
- cfcfd8f CPU/Recompiler: Various minor error fixes
- 4780bfa Pad: Fix incorrect log message
- 50b545c Pad: Fix device_index with multitap 2 active
- ba7b5cd SPU: Fix a couple of log and debug window fields
- acb546b SPU: Fix inverted volume level in voice register read
- 0c41d81 SPU: Fix incorrect DMA overread handling
- 0b4b9a1 MemoryCard: Fix incorrect ACK at end of read
- bde74c5 MemoryCard: Fix incorrect output byte at end of write
- d85dcdb MemoryCard: Fix incorrect state/ack at end of ID read
- 6bd6a8d Timers: Interrupt request should be cleared after mode write
- 03a61b7 Timers: Fix repeated IRQs possibly scheduling late
- 8601189 Bus: Fix incorrect logging of EXP1 memory timing
- 0eb8db8 Bus: Fix incorrect region pointer for RAMMirror3
- 077f234 Bus: Fix error propagation in InjectExecutable()
- 2734a1b Bus: Fix incorrect write mask for EXP1/EXP2 base
- ebe6af9 GTE: INTPL should be 8 cycles
- d80c5b9 VideoPresenter: Fix incorrect UVs for Rotate180 case
- 0016ef0 VideoPresenter: Fix incorrect changed flag when reloading overlay
- cc662e6 VideoThread: Fix dead code in VideoThreadEntryPoint()
- 2c18947 VideoThread: Fix incorrect command size
- 3535455 ImGuiOverlays: Remove unused macro
- fa38d4f ImGuiOverlays: Fix incorrect capture box height
- 2d4259e ImGuiOverlays: Fix incorrect frame time calculation
- da339e4 MemoryScanner: Set changed flag in RemoveEntryByDescription()
- 63f5a6a SoundEffectManager: Fix buffer overallocation in upmix/shift path
- 66ddcae Justifier: Remove unused function
- 16ceae8 Justifier: Last byte shouldn't ACK
- da7a2cc PlayStationMouse: Fix X sensitivity being used for Y
- c9c7645 InterruptController: Fix incorrect branch hint
- 17bea47 AudioStream: Fix backend names not being translated on lookup
- 274d87e CubebAudioStream: Fix a few logging errors
- f40a3c8 SDLAudioStream: Fix inconsistent start API usage
- 692e7ce WAVReader: Fix non-s16 handling in SeekToFrame()
- cac0eac GameList: Remove unused function
- 7b802e6 GameList: Fix incorrect constants in played time parsing
- 9a44065 GameDatabase: Fix incorrect log messages
- 3d43cfa GameDatabase: Fix setting wrong settings object
- 385ee9d GameDatabase: Add missing flush check for SaveToCache()
- 40b6893 System: Fix video capture args being read incorrectly
- 66702bc System: Fix some incorrect error messages
- ccfa0f4 System: Remove a couple of redundant comparisons
- 21f6835 CDImagePPF: Fix possible overpatching on spanning sectors
- 08015f1 CDImagePPF: Fix possible integer underflow in short files
- efc623c CDImagePBP: Fix error propagation in SwitchSubImage()
- 32f8163 CDImageMDS: Fix use of 32-bit fseek()
- 4a24d29 CDImageDevice: Fix incorrectly formatted log messages
- 4e1cdd5 CDImageCue: Fix inconsistent size in ECMTrackFileInterface::Read()
- 687059d CDImageM3u: Simplify whitespace trimming
- 1494c6b PostProcessing: Fix OOB write in ParseVector()
- d5c22fc PostProcessing/FX: Fix PingPong state not being written back
- 1c9b0a9 PostProcessing/Slang: Fix include depth not being tracked
- 3ce9753 PostProcessing/Slang: Add missing Original scale type handling
- a9da0d8 Sockets: Fix various issues
- bd6f998 ISOReader: Fix incorrect timestamp calculation
- 29ca1cb GPUDevice: Fix incorrect log message
- fc9ce7f GPUDevice: Fix incorrect RG16/RG16F pixel size
- 4e963c1 System: Add capture file name format options
- 86aabe3 D3DCommon: Fix a bunch of copy/paste errors
- 730c44f D3D11Device: Fix a couple of incorrect log messages
- 414f9f6 D3D12Device: Fix incorrect subresource calculation
- 9706df0 D3D12Device: Use move in D3D12DownloadTexture destructor
- 56f0756 MetalDevice: Fix various issues
- 6f405d9 GPUDevice: Don't reserve unnecessary byte in stream buffer
- 690fcb6 System: Log disc details when booting
- cece522 OpenGLDevice: Fix incorrect mipmap step in upload
- 49eb1ab OpenGLDevice: Fix off-by-one in Map() range check
- d940fb3 OpenGLDevice: Fix incorrect DSB binding without binding layout
- 2ac4816 OpenGLTexture: Fix a couple of incorrect format mappings
- f0b6ea9 VulkanDevice: Fix incorrect pointer alignment check
- a4904dd VulkanDevice: Add missing swap of m_allocation
- 0f51249 Achievements: Fix null pointer check in BeginRefreshHashDatabase()
- 2a85f67 FullscreenUI: Fix possible OOB on bad config
- 0e3c471 FullscreenUI: Fix file dialog without filter set
- 22378bd FullscreenUI: Add fade transition to file selector
- 2b10062 FullscreenUI: Fix possible RemoveHook() call on wrong thread
- d3edaf5 FullscreenUI: Use insert_or_assign() in SetCoverCacheEntry()
- d2e9421 Qt: Fix config binding of audio capture extra args
- 41a939f Qt: Fix resize-loading case for getCoverForEntry()
- ecc1fe2 Qt: Fix a couple of incorrect config keys in reset path
- d326c8b Qt: Fix incorrect signal block in game summary
- 4ae89e2 Qt: Fix reading from UI thread in computeImageHash()
- 30583b4 Qt: Fix incorrect read in texture replacement settings export
- 00c956f Qt: Fix incorrect settings save after automap
- 182c87d Qt: Add missing master enable update in cheat settings
- 387d8b3 Qt: Remove redundant setNewBinding() in effect binding
- 0995654 Qt: Add null pointer check to hotkey setFilter()
- 5de2b77 CPU/CodeCache: Fix redundant begin/end code write
- 2af1cd6 CPU/CodeCache: lwc2/swc2 should not read rt in backprop
- 0a816b6 CPU/CodeCache: Fix blocks ending up perpetually in interpreter fallback
- 23c94c5 TimingEvent: Add missing current_event check in SortEvent()
- 89560f8 GDBServer: Fix incorrect shift in $G handler
- dd25610 GDBServer: Fix incorrect hex decode in $M handler
- 091d1b6 GDBServer: Fix double ack after single step
- 59b4fb8 GDBServer: Send SIGTRAP on system pause
- 6c63902 Fix translation errors (AZ) (#3730)
- df64109 TimingEvents: Fix overzealous assertion
- f9254e2 CPU/CodeCache: Pack state in struct
- abf3b8c CPU/CodeCache: Move JIT write protect out of MemMap
- 120d049 Modern Lossless Dynamic Quantization Scanline Shader (#3731)
- 12989d2 VideoThread: Use thread instead of handle
- 53c4176 CPU/CodeCache: Don't skip filling backprop for first instruction
- 5d92da5 TimingEvents: Remove ticks_late parameter
- dea0480 AudioStream: Reintroduce XAudio2 backend
- c1d24b4 dep/cubeb: Bump to a37dadd
- 242b4b8 FullscreenUI: Fix files showing in directory selector
- 28297a3 VideoThread: Pass clamped dimensions to thread
- 153fa1d Core: Get rid of base settings layer overrides
- 85c0b4e System: Move gamescope screensaver hack to QtHost
- 71dafa7 System: Move socket multiplexer into GDBServer
- cc1775f System: Move Discord presence into its own file
- 678b610 System: Move more core functionality out of file
- 70c6d5a VideoThread: Move private functions into own file
- 0b6d41e Achievements: Don't defer badge prefetch on game load
- 56783ac Qt: Use delete icon for restoring custom titles
- 348eaee TaskQueue: Support single-threaded operation
- 735dc5b Core: Centralize the async task queue
- b2d0fbd clang-format: Add lambda options
- 54c6a9f Hotkeys: Make more formatting-friendly
- 00908b1 Qt: Remove some unnecessary includes
- 86fd693 Qt: Use better title for capture file name format
- 122bd30 Qt: Move RAIntegration setting to advanced settings
- 6513e47 Achievements: Add progress indicator mode option
- d2e7701 dep/rcheevos: Increase the time the progress tracker is shown
- d1f5975 FullscreenUI: Fix load/save state leaving system paused
- 8ddaac3 Achievements: Add alpha to progress bars
- 38bbc11 Data: Add additional fonts
- bbe6521 ImGuiManager: Support multiple text fonts
- 9950e22 SoundEffectManager: Fix low chance of deadlock on shutdown
- f7d937c Qt: Fix debugger ignoring all messages
- acbb76c Qt: Fix off-by-one in edit RAM callback
- f080e79 Qt: Fix possible underflow in debugger wheelEvent()
- 9a41041 Qt: Fix incorrect colour of bytes in debugger
- 9f385b2 Qt: Fix last-data buffer management in MemoryViewWidget
- 970e191 Qt: Improve debugger arrow drawing
- 2f35493 scanline-modern-ex.fx Minor optimizations and adjustments (#3732)
- 5731aa8 CI: Pass --fail to curl downloads
- 3fb8948 GPU/HW: Fix MMPX Quality compilation in Metal
- 730dcd9 VideoThread: Assert not on thread for async calls
- 1200cd5 FullscreenUI: Rework pause menu opening
- 75eddf1 Achievements: Adjust pause menu box padding
- e4c55ad Achievements: Don't display indicators when in pause menu
- 6f8f488 dep/imgui: Handle ClearTexData() for RendererHasTextures case
- 9eeabd0 ImGuiManager: Destroy textures before recreating font atlas
- bff1851 FullscreenUI: Fix double pause in PauseAndOpenMenuFromCoreThread()
- 8056dc7 FullscreenUI: Fix change disc hotkey again
- 5dc2899 Qt: Fix tab order in Achievement Settings
- 01ae8e5 Qt: Fix incorrect key for video capture arguments
- 1f1182f Qt: Don't delete empty achievement images directory
- 2bc4a95 Qt: Remove redundant doBackgroundControllerPoll()
- aa5e2d7 Qt: Screenshot/video directory shouldn't be changable per-game
- 614d24c FullscreenUI: Fix pause icon not re-displaying on menu close
- d6a7f90 FullscreenUI: Tweak fade transition times
- 015bfed FullscreenUI: Align fade transition times to frame rate
- 414b0b3 CDImage: Fix OpenCHD() opening non-chd files
- 9251991 ImGuiOverlays: Use PopupHighlight for save state selector
- 3836986 Qt: Expose VRAM and SPU VRAM in memory editor/debugger
- f0fdd06 FullscreenUI: Fix most_recent_progress_update not resetting
- 1e570ed FullscreenUI: Fix first achievement notification not triggering run-idle
- 1917421 FullscreenUI: Use correct active state for timed indicator removal
- f685648 FullscreenUI: Fix leaderboard ID/format not caching in pause menu
- 7120a4a FullscreenUI: Fix possible divide by zero in achievement summary
- adff8db FullscreenUI: Improve sort operator consistency
- ccce159 FullscreenUI: Fix game grid titles drawing even when disabled
- 69b3958 FullscreenUI: Use icon in both AlertPrompt() and ConfirmPrompt()
- 9e82d21 FullscreenUI: Fix typo in MenuImageButton()
- 678c2ec FullscreenUI: Fix InputStringDialog not clearing text
- 2ca8307 FullscreenUI: Fix loading screen drawing with non-zero minimum
- 0861840 FullscreenUI: Fix temporary challenge icons missing in pause menu
- 3a10c16 Qt: Slight tweak to OSD settings panel widths